Annuncio pubblicitario

La chiave per l'automazione sta facendo le cose più velocemente e più facilmente di quanto tu abbia mai fatto prima. Allora, cosa ti impiega molto tempo a 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 l'organizzazione delle finanze, gestione di progetti, e dare priorità agli obiettivi. La scorsa settimana, ho descritto come automatizzare IE impostando gruppi di URL nei fogli di Excel e quindi utilizzando l'oggetto IE in Windows per automatizzare l'avvio di gruppi di URL direttamente da Excel.

A seguito di 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, eseguire lo stesso tipo di azioni su quegli altri browser richiede un ulteriore passaggio. Questo passaggio è l'installazione di Selenium VBA - un wrapper COM di Windows per Selenium.

instagram viewer

Ti consente di eseguire chiamate da qualsiasi applicazione che supporti VBA per aprire un browser, non solo IE, e controllare quella sessione del browser. È un potente strumento di automazione che è così comunemente usato che molti famosi venditori di browser stanno incorporando Selenium come parte nativa del proprio browser. Il suo utilizzo nelle applicazioni di automazione sarà sicuramente supportato per gli anni a venire.

Automatizzare Firefox e Chrome con Selenium

Prima di iniziare con questo progetto, devi scaricare e installare il wrapper VBA Selenium. Quindi, proprio come ho discusso nell'articolo su automatizzare IE, per scrivere qualsiasi VBA in Excel, devi entrare in modalità progettazione e visualizzare il codice. Se non l'hai mai fatto prima, devi solo accedere alla voce di menu "Sviluppatore" e fare clic su Modalità progettazione. Fare clic sul pulsante "Inserisci", fare clic sul pulsante ActiveX e disegnarlo sul foglio da qualche parte. Una volta fatto, fai clic sul pulsante, quindi fai clic su "Visualizza codice".

selenium1

Nella finestra dell'editor del codice, in basso a sinistra, assicurati di cambiare sia il "Nome" sia la "Didascalia" per riflettere a cosa serve il pulsante. In questo caso, il pulsante sarà per aprire l'elenco degli URL che hai elencato nel foglio di calcolo. Nel mio caso, l'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 verso il basso fino al riferimento chiamato "Libreria del tipo SeleniumWrapper". Seleziona quella casella di riferimento e quindi fai clic su OK.

selenium2

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

Funzionalità del Selenium Wrapper

Selenaum VBA Wrapper ti offre molte più funzionalità di quelle che sarò in grado di mostrarti in questo articolo. Puoi vedere quanto è disponibile oltre al WebDriver, definendo l'oggetto Selenium come "New SeleniumWrapper". Quando digiti il ​​periodo, verranno visualizzati tutti gli elementi dei tipi di oggetti che puoi controllare, come immagini del browser, file PDF, tasti della tastiera e altro ancora.

selenium3

Questo codice di esempio utilizzerà WebDriver. Dopo aver utilizzato l'oggetto Selenium WebDriver nel codice e digitato il periodo, verrà visualizzato un elenco molto lungo di metodi e proprietà che è possibile utilizzare per automatizzare il browser Web.

selenium4

Può volerci un po 'di tempo per imparare tutto ciò che è disponibile, ma Google può trovare alcuni buoni esempi, dietro i campioni disponibili presso Google Code page. Sfortunatamente, per quanto ne so, non esiste una guida semplice per l'utilizzo del selenio, ma sarei grato a tutti i lettori in grado di fornire qualsiasi risorsa!

Scrivere il tuo codice selenio VBA

In questo esempio, come nell'articolo di IE, ho creato un elenco di URL che voglio aprire automaticamente 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. Prima di tutto, devi avviare l'applicazione Firefox. Il metodo "selenium.start" lo farà. I metodi setTimeout e setImplicitWait non sono critici, ma possono impedire che l'applicazione si blocchi per sempre se il browser non risponde per qualche motivo.

Selenio tenue Come nuovo SeleniumWrapper. WebDriver. Dim FF come oggetto. Dim intRowPosition come numero intero. Tasti attenuati Come nuovo SeleniumWrapper.keys selenium. Avvia "firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selenio. Apri Sheet1.Range ("A" e intRowPosition)

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

selenium7

La sezione successiva del codice incrementa il puntatore di 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) <> selenio vbNullString. Chiavi SendKeys. Controllo & "t" selenio. Apri Sheet1.Range ("A" e intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Nothing

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

selenium8

Se vuoi usare questo codice per Chrome, tutto ciò che devi fare è cambiare la riga “selenio. Avviare "Firefox" "su" Chrome "invece.

Ora crea il tuo script

Come accennato in precedenza, il modo migliore per apprendere il potere del Selenium Wrapper è digitare "selenio" nel tuo codice, premi il punto e scorri l'elenco molto lungo di proprietà disponibili e metodi. Ad esempio, è possibile 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 ben oltre lo scopo di questo articolo. Ma sperimenta e divertiti. Per fortuna, 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.

Per il tuo prossimo progetto di scripting, che ne dici creando la tua semplice app con VBA Come puoi creare la tua app semplice con VBAVuoi sapere come creare la tua applicazione VBA per risolvere i problemi? Usa questi suggerimenti per creare il tuo software VBA. Leggi di più ?

Ryan ha una laurea in ingegneria elettrica. Ha lavorato 13 anni in ingegneria dell'automazione, 5 anni in IT e ora è un ingegnere di app. Ex amministratore delegato di MakeUseOf, ha parlato a conferenze nazionali sulla visualizzazione dei dati ed è stato presentato su TV e radio nazionali.