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, 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 Modelli di gestione dei progetti Excel utili per il monitoraggio 10 Modelli di gestione dei progetti Excel utili per il monitoraggio I modelli di gestione dei progetti possono aiutarti a replicare progetti di successo. Ecco i modelli Microsoft Excel essenziali per te. 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. Ulteriori informazioni, 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 l'hai mai fatto prima, devi solo andare nel “Sviluppatore” voce di menu e fare clic su Modalità di progettazione. Clicca sul “Inserire” pulsante, fare clic sul pulsante ActiveX e disegnarlo sul foglio da qualche parte. Dopo averlo fatto, fai clic sul pulsante e quindi fai clic su “Visualizza codice”.
Nella finestra dell'editor di codice, in basso a sinistra, assicurati di cambiare entrambi “Nome” e il “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, l'ho appena chiamato cmdLoadURLs e ho creato la didascalia “Carica URL” (questo è ciò che appare sul pulsante).
Quindi, è necessario abilitare Selenium Wrapper facendo clic sul menu Strumenti, quindi fare clic su “Riferimenti”, e quindi scorrere fino al riferimento chiamato “SeleniumWrapper Type Library”. Controllare quella casella di riferimento e quindi fare clic su OK.
Ora sei pronto per iniziare a scrivere il codice di automazione del browser utilizzando 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.
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..
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.
Il codice dietro il pulsante è semplice, ma ho intenzione di spiegare cosa fa ogni sezione. Innanzitutto, devi avviare l'applicazione Firefox. Il “selenium.start” il metodo 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 “selenium.open” metodo per leggere l'URL da quel foglio di calcolo e aprirlo in Firefox.
La prossima sezione di codice incrementa il puntatore a riga e legge l'URL successivo nell'elenco. Se la cella non è vuota, utilizza 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" & intRowPosition) <> vbNullString selenium.SendKeys keys.Control e "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = Niente
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.
Se desideri utilizzare questo codice per Chrome, tutto ciò che devi fare è modificare la linea “selenium.Start “firefox”” a “cromo” anziché.
Ora crea il tuo script
Come accennato in precedenza, il modo migliore per imparare la potenza del Selenio Wrapper è digitare “selenio” nel tuo codice, premi il punto e sfoglia 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.
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 consigli ed esperienze con esso nella sezione commenti qui sotto!
Scopri di più su: Google Chrome, Microsoft Excel, Mozilla Firefox, Programmazione Visual Basic.