Automazione Browser Web: raddoppia la tua produttività (Guida Definitiva)

Presentiamo diversi strumenti di automazione del browser come Selenium, TagUI, Puppeteer, Playwright e Ui.Vision, sottolineando la loro importanza in vari contesti, come l'automazione delle operazioni Web, il testing delle pagine e lo sviluppo di attività aziendali ripetitive.

I moderni agenti AI stanno progressivamente introducendo la possibilità di interagire con il browser Web e le altre applicazioni in esecuzione sui propri dispositivi. L’idea di automatizzare le attività svolte con il browser, tuttavia, non è affatto nuova. Selenium, ad esempio, è un progetto aperto che mira alla massima automazione del browser Web, come spiegato nel repository ufficiale.

Selenium è uno degli strumenti più robusti per l’automazione dei browser, supportando operazioni complesse come l’inserimento di dati nei campi, il clic sui pulsanti, l’estrazione di informazioni (ad esempio, testo da specifici elementi), la gestione dei login e molto altro ancora. Per questo motivo, col tempo è diventato la base per molti progetti derivati. Noi, ad esempio, l’abbiamo utilizzato per programmare l’invio di messaggi WhatsApp senza app di terze parti.

Struttura delle pagine Web ideale per l’automazione del browser

La struttura delle pagine Web è ideale per l’automazione, grazie agli elementi presenti e alla loro organizzazione. Ogni pagina HTML è infatti costruita utilizzando una varietà di elementi (come input, bottoni, link, div, ecc.) che spesso hanno identificatori univoci come `id`, `class`, `name`, `xpath` o `css selectors`. Questi elementi permettono agli strumenti di automazione di localizzare facilmente e in modo preciso gli elementi con cui interagire. Ad esempio:

  • `id` è solitamente un identificatore unico in tutta la pagina.
  • `name` è utilizzato per riferirsi ai campi di moduli.
  • `xpath` e `css selectors` permettono di definire percorsi precisi per localizzare gli elementi.

Le pagine Web poggiano su di una struttura ad albero (DOM), che organizza gli elementi in modo gerarchico. Ogni elemento ha una posizione definita nel DOM, che permette di identificare la sua relazione con gli altri (ad esempio, un campo di input all’interno di un modulo, o un bottone all’interno di una sezione). Gli strumenti di automazione possono sfruttare questa struttura gerarchica per navigare facilmente tra gli elementi e identificare la sequenza delle azioni da compiere.

Inoltre, l’interazione basata su eventi (clic, input, invio, navigazione,…) fa sì che si possa brillantemente gestire qualunque necessità di automazione.

Campi applicativi

Gli strumenti di automazione del browser sono fondamentali in molti settori, come nel Web scraping per l’estrazione di dati finanziari aggiornati o nel monitoraggio dei prezzi su piattaforme di e-commerce. Un’azienda può utilizzare l’automazione per raccogliere informazioni sui cambiamenti dei prezzi delle azioni o delle criptovalute, senza dover visitare manualmente ogni sito.

L’automazione facilita inoltre il testing delle pagine Web, permettendo di verificare in modo rapido e preciso il funzionamento delle applicazioni su diverse piattaforme. In questi casi, l’automazione aumenta l’efficienza e riduce gli errori, consentendo operazioni ripetitive in tempi ridotti.

Molte operazioni aziendali, come la gestione degli ordini, l’elaborazione delle richieste o l’inserimento dei dati nei sistemi, possono essere automatizzate con strumenti di automazione del browser. In questo modo diventa possibile interagire con sistemi e applicazioni web-based senza la necessità di svolgere operazioni manuali.

Le campagne di marketing digitale spesso richiedono attività ripetitive come l’invio di moduli, l’aggiornamento di pagine o l’interazione con i social media. Gli strumenti di automazione possono essere utilizzati per eseguire queste operazioni, riducendo significativamente il carico di lavoro umano.

I migliori strumenti per l’automazione del browser

TagUI

TagUI è uno strumento di Robotic Process Automation (RPA) open source che permette di automatizzare attività Web e desktop. È scritto in JavaScript ma ha un’API per Python, rendendolo utilizzabile in combinazione con Selenium.

Rispetto a Selenium, che comunque costituisce le fondamenta del progetto TagUI, quest’ultimo è molto più facile da usare. La cartella samples contiene molti esempi di utilizzo di TagUI, che possono essere sfruttati e adattati per le proprie necessità. Alcuni comandi, di immediata interpretazione, rendono la curva di apprendimento di TagUI molto più dolce rispetto a Selenium:

Comando Descrizione
t.init() Avvia il browser
t.url('https://sito.com') Apre una pagina Web
t.type('elemento', 'testo') Scrive in un campo di input
t.click('elemento') Clicca su un pulsante o un link
t.wait(5) Aspetta 5 secondi
t.read('elemento') Legge il testo di un elemento
t.snap('elemento', 'screenshot.png') Scatta uno screenshot
t.close() Chiude il browser

Progetto multipiattaforma, le semplici istruzioni per l’installazione di TagUI sono disponibili in questa pagina di supporto. Se l’idea è limitarsi all’automazione del solo browser Web, Selenium è più potente. Chi cercasse un RPA completo, con OCR integrato e capace di interfacciarsi anche con l’interfaccia delle applicazioni desktop, allora troverà in TagUI un eccellente partner.

Puppeteer

Puppeteer è un’eccellente libreria Node.js che fornisce un’API ad alto livello per il controllo di Chrome o Chromium in modalità headless (senza interfaccia grafica).

Si tratta di uno strumento molto potente per operazioni come la generazione di PDF, il rendering di contenuti Web e l’automazione di test.

Usa page.type() per inserire testo nei campi; per estrarre informazioni si può usare page.evaluate() che consente di eseguire JavaScript nel contesto della pagina e raccogliere dati. Per le attività di login si possono completare i vari campi quindi inviare il form con page.click().

Playwright

Playwright è un framework sviluppato da Microsoft, simile a Puppeteer, ma con il supporto per più browser (Chromium, Firefox e WebKit).

Supporta l’automazione di browser in modalità headless e interattiva, con funzionalità avanzate come il supporto per il testing cross-browser e l’esecuzione su più piattaforme.

È ottimo per creare script complessi che necessitano di interazioni con i browser o di test in scenari cross-browser. Gestisce facilmente il login e la navigazione, integrandosi perfettamente con il codice JavaScript.

Usa costrutti come page.fill() per compilare i campi; page.text_content() per ottenere testo da un elemento HTML; per eseguire attività di login si può usare page.fill() in combinazione con page.click() per l’invio del modulo.

Ui.Vision

Tra i nostri tool preferiti c’è anche Ui.Vision, un’estensione per browser come Chrome, Edge e Firefox che permette di registrare azioni nel browser e riprodurle senza dover scrivere codice. Ciò che Ui.Vision realizza sono vere e proprio macro, che possono essere personalizzate e ottimizzate in profondità.

Toglietevi dalla testa che tutto funzioni al primo colpo, tuttavia Ui.Vision aiuta a estrapolare istantaneamente i riferimenti agli identificatori univoci utilizzati in ciascuna pagina Web.

Attraverso una serie di operazioni definite sotto forma di macro si possono eseguire attività sulla stessa pagina Web o su più siti contemporaneamente. L’interfaccia grafica dell’estensione Ui.Vision semplifica la registrazione e la riproduzione delle azioni.

Ui.Vision supporta la registrazione di clic, l’inserimento di testo, l’estrazione di dati da tabelle e così via. È addirittura possibile interagire con il file system sottostante in modo tale da leggere e scrivere file, il cui contenuto può essere direttamente usato nelle macro.

La lista delle operazioni svolte da ciascuna macro è restituita sotto forma di sorgente in formato JSON. I vari comandi richiamabili attraverso l’interfaccia di Ui.Vision consentono anche l’integrazione di codice JavaScript per eseguire operazioni più complesse.

Comando Descrizione
open Apre una pagina web specificata nell’URL.
click Clicca su un elemento della pagina, identificato tramite un selettore (es. xpath, css).
sendKeys Invia una sequenza di tasti a un campo di input (es. per digitare testo o utilizzare scorciatoie da tastiera).
store Memorizza un valore in una variabile per utilizzarlo successivamente.
storeText Estrae il testo visibile da un elemento e lo memorizza in una variabile.
storeValue Estrae il valore di un campo di input e lo memorizza in una variabile.
executeScript Esegue uno script JavaScript nella pagina e restituisce il risultato.
if Esegue una condizione: se la condizione è vera, i comandi successivi vengono eseguiti.
end Chiude il blocco condizionale iniziato con if.
pause Pausa l’esecuzione per un determinato numero di millisecondi.
storeEval Esegue un’espressione JavaScript e memorizza il risultato in una variabile.
verifyText Verifica se un elemento contiene un testo specifico.
verifyElementPresent Verifica se un elemento è presente sulla pagina.
assertText Assicura che un elemento contenga un determinato testo, altrimenti fallisce.
assertElementPresent Assicura che un elemento sia presente sulla pagina, altrimenti fallisce.

Conclusioni

L’automazione del browser rappresenta una frontiera sempre più rilevante per semplificare e ottimizzare molteplici attività quotidiane. Strumenti come Selenium, TagUI, Puppeteer, Playwright e Ui.Vision offrono soluzioni scalabili e versatili, in grado di rispondere a diverse esigenze, dall’automazione di test e interazioni con il Web, fino alla gestione di processi aziendali complessi.

La crescente disponibilità di piattaforme open source e il continuo sviluppo di tecnologie più intuitive stanno democratizzando l’accesso all’automazione, consentendo a professionisti e aziende di migliorare i flussi di lavoro quotidiani.

Grazie alla loro capacità di interagire con la struttura gerarchica delle pagine Web, gli strumenti presentati nell’articolo si rivelano partner spesso essenziali in molteplici campi applicativi. Certo, per riuscire a padroneggiarli è necessario un po’ di impegno e una buona dose di pazienza, oltre alle competenze di base nella gestione dei pacchetti software, nello sviluppo Web e i rudimenti di alcuni linguaggi di programmazione (come JavaScript e Python). I risultati, però, non tarderanno ad arrivare.

Credit immagine in apertura: iStock.com – filo

Ti consigliamo anche

Link copiato negli appunti