Come automatizzare Firefox o Chrome con Excel VBA e selenio

La chiave dell'automazione è fare le cose più velocemente e più facilmente di quanto tu abbia mai fatto prima. Quindi quale parte del tuo carico di lavoro ti piacerebbe automatizzare? Vediamo cosa possiamo fare!

La chiave dell'automazione è fare le cose più velocemente e più facilmente di quanto tu abbia mai fatto prima.  Quindi quale parte del tuo carico di lavoro ti piacerebbe automatizzare?  Vediamo cosa possiamo fare!
Annuncio pubblicitario

La chiave dell'automazione è fare le cose più velocemente e più facilmente di quanto tu abbia mai fatto prima. Quindi, cosa ti ci vuole molto tempo per fare? Quale parte del tuo carico di lavoro vorrebbe automatizzare?

Quando si tratta di produttività, Excel è lo strumento più comune utilizzato dalle persone per cose come organizzare le finanze, gestire i progetti 10+ Utili modelli Excel per la gestione e il monitoraggio dei progetti 10+ Utili modelli Excel per la gestione dei progetti e i modelli di tracciamento sono per i project manager quali coltelli sono per chef professionisti: indispensabili. Ti mostriamo come è possibile replicare progetti di successo utilizzando modelli già pronti in Microsoft Excel e oltre. Ulteriori informazioni e definizione di priorità per gli obiettivi Utilizzare Excel e Google Task per creare lo strumento di gestione dei migliori obiettivi Mai utilizzare Excel e Google Task per creare lo strumento di gestione dei migliori obiettivi. Ultimamente, ho iniziato a capire che sto lavorando molto duramente, ma se qualcuno mi ha chiesto se mi sento o meno che sto lavorando per uno scopo più ampio, dovrei dire che davvero non ... Read More. La scorsa settimana, ho descritto come automatizzare IE utilizzando VBA per automatizzare le sessioni di Internet Explorer da un foglio di calcolo Excel utilizzando VBA per automatizzare le sessioni di Internet Explorer da un foglio di calcolo Excel La sua integrazione con Windows consente il controllo di Internet Explorer in vari modi sorprendenti utilizzando Visual Basic per Script Applicazioni (VBA) da qualsiasi applicazione che lo supporta, come Word, Outlook o Excel. Leggi di più impostando gruppi di URL nei fogli Excel e quindi utilizzando l'oggetto IE in Windows per automatizzare l'avvio di gruppi di URL direttamente da Excel.

Seguendo questo articolo, molti lettori hanno chiesto come fare la stessa cosa in Firefox o Chrome. Poiché né Firefox né Chrome hanno un oggetto simile incluso in Windows che può essere utilizzato per l'automazione VBA, l'esecuzione dello stesso tipo di azioni su quegli altri browser richiede un passaggio aggiuntivo. Quel passo è l'installazione di Selenium VBA - un wrapper COM Windows per Selenium.

Ti consente di eseguire chiamate da qualsiasi applicazione che supporti VBA per aprire un browser, non solo IE, e controllare quella sessione del browser. Si tratta di un potente strumento di automazione che è così comunemente usato che molti produttori di browser popolari stanno incorporando Selenium come parte nativa del proprio browser. Usarlo nelle tue applicazioni di automazione è sicuro di essere supportato per gli anni a venire.

Automazione di Firefox e Chrome con Selenium

Prima di iniziare con questo progetto, è necessario scaricare e installare il wrapper VBA Selenium. Quindi, proprio come ho discusso nell'articolo sull'automazione di IE utilizzando VBA per automatizzare le sessioni di Internet Explorer da un foglio di calcolo Excel utilizzando VBA per automatizzare le sessioni di Internet Explorer da un foglio di calcolo Excel La sua integrazione con Windows consente il controllo di Internet Explorer in un numero di modi sorprendenti utilizzando Script di Visual Basic for Applications (VBA) da qualsiasi applicazione che lo supporta, come Word, Outlook o Excel. Per saperne di più, per scrivere qualsiasi VBA in Excel, è necessario entrare in modalità progettazione e visualizzare il codice. Se non lo hai mai fatto prima, devi solo andare nella voce di menu "Sviluppatore" e fare clic su Modalità di progettazione. Fare clic sul pulsante "Inserisci", fare clic sul pulsante ActiveX e disegnarlo sul foglio da qualche parte. Dopo averlo fatto, fai clic sul pulsante e quindi su "Visualizza codice".

selenium1

Nella finestra dell'editor del codice, in basso a sinistra, assicurati di cambiare sia il "Nome" che la "Didascalia" per riflettere a cosa serve il pulsante. In questo caso, il pulsante aprirà l'elenco di URL che hai elencato nel foglio di lavoro. Nel mio caso, ho appena chiamato cmdLoadURLs e ho creato la didascalia "Carica URL" (questo è ciò che appare sul pulsante).

selenium1b

Successivamente, è necessario abilitare il Selenium Wrapper facendo clic sul menu Strumenti, quindi fare clic su "Riferimenti", quindi scorrere fino al riferimento denominato "SeleniumWrapper Type Library". Controllare quella casella di riferimento e quindi fare clic su OK.

selenium2

Ora sei pronto per iniziare a scrivere il codice di automazione del browser usando Selenium Wrapper!

Funzionalità del wrapper di selenio

Il Selena VBA Wrapper ti offre molte più funzionalità di quanto sarò in grado di mostrarti in questo articolo. Puoi vedere quanto è disponibile oltre il WebDriver, definendo l'oggetto Selenium come "Nuovo SeleniumWrapper". Quando si digita il punto, verranno visualizzati tutti gli elementi dei tipi di oggetti che è possibile controllare, ad esempio immagini del browser, file PDF, tasti della tastiera e altro.

selenium3

Questo codice di esempio utilizzerà il WebDriver. Una volta che si utilizza l'oggetto Selenium WebDriver nel codice e si digita il punto, verrà visualizzato un elenco molto lungo di metodi e proprietà che è possibile utilizzare per automatizzare il browser Web.

selenium4

Potrebbe essere necessario del tempo per apprendere tutto ciò che è disponibile, ma Google può presentare alcuni buoni esempi, dietro gli esempi disponibili nella pagina Codice Google. Sfortunatamente, per quanto ne so, non esiste una guida semplice là fuori per l'utilizzo del selenio, ma sarei grato a tutti i lettori che potrebbero fornire risorse!

Scrivi il tuo codice Venioso Selenio

In questo esempio, come nell'articolo di IE, ho creato automaticamente un elenco di URL che voglio aprire in Firefox. Ho quindi creato il pulsante come descritto nella prima parte di questo articolo.

selenium5

Il codice dietro il pulsante è semplice, ma ho intenzione di spiegare cosa fa ogni sezione. Innanzitutto, devi avviare l'applicazione Firefox. Il metodo "selenium.start" lo farà. I metodi setTimeout e setImplicitWait non sono critici, ma possono impedire alla tua applicazione di bloccarsi per sempre se il browser non risponde per qualche motivo.

 Dim Selenium As New SeleniumWrapper.WebDriver Dim FF As Object Dim intRowPosition As Integer Dim keys As SeleniumWrapper.keys selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") selenio. setImplicitWait (5000) intRowPosition = 2 selenium.Open Sheet1.Range ("A" & intRowPosition) 

L'ultimo paio di righe imposta la riga dei dati di Excel da leggere (riga due, dove il primo URL è memorizzato nel foglio di calcolo), quindi esegue il metodo "selenium.open" per leggere l'URL da quel foglio di calcolo e aprirlo in Firefox.

selenium7

La prossima sezione di codice incrementa il puntatore a riga e legge l'URL successivo nell'elenco. Se la cella non è vuota, utilizza quindi il metodo SendKeys per avviare una nuova scheda in Firefox, legge l'URL successivo da quella vendita e apre l'URL in quella nuova scheda.

 intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" e intRowPosition) vbNullString selenium.SendKeys keys.Control e "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = Nothing 

Lo script passerà in rassegna l'intero elenco fino a quando tutti gli URL non saranno aperti nelle proprie schede. Ecco il browser dopo che il ciclo è passato una seconda volta e ha aperto MUO in una nuova scheda.

selenium8

Se desideri utilizzare questo codice per Chrome, tutto ciò che devi fare è cambiare la linea "selenium.Start" firefox "" in "chrome".

Ora crea il tuo script

Come accennato in precedenza, il modo migliore per apprendere la potenza del Selenium Wrapper è di digitare "selenio" nel codice, premere il punto e scorrere semplicemente la lunga lista di proprietà e metodi disponibili. Ad esempio, puoi utilizzare la proprietà .URL per ottenere l'URL della scheda attualmente aperta in Firefox o Chrome.

selenium9

Come puoi vedere, ci sono molte altre cose che puoi fare che vanno oltre lo scopo di questo articolo. Ma sperimenta e divertiti. Fortunatamente, la maggior parte delle funzioni mostrerà un testo di aiuto che mostra quali parametri si aspetta ogni funzione. Questo può aiutare molto quando si tratta di capire come usarlo.

Utilizzi VBA per automatizzare il tuo computer? Hai mai automatizzato le sessioni del browser da VBA? Condividi i tuoi suggerimenti ed esperienze con esso nella sezione commenti qui sotto!

In this article