Cum să automatizeze Firefox sau Chrome cu Excel VBA și seleniu

Cum să automatizeze Firefox sau Chrome cu Excel VBA și seleniu / ferestre

Cheia automatizării face lucrurile mai repede și mai ușor decât ați mai făcut vreodată. Deci, ce-ți trebuie mult timp să faci? Ce parte din volumul de muncă ar dori să automatizeze?

Atunci când vine vorba de productivitate, Excel este cel mai comun instrument folosit de oameni pentru lucruri cum ar fi organizarea de finanțe, gestionarea proiectelor 10 Șabloane utile de management al proiectelor Excel pentru urmărire 10 Șabloane utile de management al proiectelor Excel pentru urmărirea șabloanelor de management de proiect vă pot ajuta să replicați proiecte de succes. Iată temele esențiale Microsoft Excel pentru dvs. Citiți mai multe și prioritizați obiectivele Utilizați Excel și Sarcini Google pentru a crea cel mai bun instrument de gestionare a obiectivelor Utilizați vreodată aplicații Excel și Google pentru a crea cel mai bun instrument de gestionare a obiectivelor În ultima vreme am început să înțeleg că lucrez foarte greu, cineva ma întrebat dacă simt sau nu că lucrez într-un scop mai mare, aș fi nevoit să spun că chiar nu ... Citește mai mult. Saptamana trecuta, am descris cum sa automatizez IE Utilizarea VBA pentru a automatiza sesiunile Internet Explorer de pe o foaie de calcul Excel Folosind VBA pentru a automatiza sesiunile Internet Explorer dintr-o foaie de calcul Excel Integrarea cu Windows permite controlul Internet Explorer intr-un numar de metode surprinzatoare folosind Visual Basic for Aplicație (VBA) de la orice aplicație care o acceptă, cum ar fi Word, Outlook sau Excel. Citiți mai multe prin setarea grupurilor de adrese URL în foile Excel și apoi utilizând obiectul IE din Windows pentru a automatiza grupurile de lansare de adrese URL direct din Excel.

În urma acestui articol, mulți cititori au întrebat cum să facă același lucru în Firefox sau Chrome. Întrucât nici Firefox, nici Chrome nu au un obiect similar inclus în Windows care poate fi utilizat pentru automatizarea VBA, efectuarea acelorași acțiuni pe celelalte browsere necesită un pas suplimentar. Pasul ăsta este instalarea seleniului VBA - un înveliș Windows COM pentru seleniu.

Vă permite să efectuați apeluri de la orice aplicație care suportă VBA pentru a deschide un browser - nu doar IE - și pentru a controla sesiunea de browser. Este un instrument puternic de automatizare, care este atât de frecvent utilizat, încât mulți furnizori de browsere populare încorporează Selenium ca parte indigenă a browserului lor. Utilizarea acestuia în aplicațiile de automatizare va fi susținută pentru anii următori.

Automatizarea Firefox și Chrome cu seleniu

Înainte de a începe acest proiect, va trebui să descărcați și să instalați pachetul de selecție VBA. Apoi, așa cum am discutat în articolul despre automatizarea IE Utilizarea VBA pentru a automatiza sesiunile Internet Explorer de pe o foaie de calcul Excel Utilizarea VBA pentru automatizarea sesiunilor Internet Explorer de pe o foaie de calcul Excel Integrarea cu Windows permite controlul Internet Explorer într-un număr de moduri surprinzătoare folosind Visual Basic for Applications (VBA) din orice aplicație care o acceptă, cum ar fi Word, Outlook sau Excel. Citiți mai mult, pentru a scrie orice VBA în Excel, trebuie să intrați în modul de proiectare și să vizualizați codul. Dacă nu ați mai făcut acest lucru înainte, trebuie doar să intrați în “Dezvoltator” și faceți clic pe modul de proiectare. Faceți clic pe “Introduce” , faceți clic pe butonul ActiveX și desenați-o pe foaia undeva. Odată ce ați făcut acest lucru, faceți clic pe buton și apoi faceți clic pe “Afișați codul”.

În fereastra editorului de cod, din stânga jos, asigurați-vă că modificați ambele “Nume” si “Legendă” pentru a reflecta ce este pentru buton. În acest caz, butonul va fi pentru a deschide lista de adrese URL pe care le-ați listat în foaia de calcul. În cazul meu, am numit-o cmdLoadURLs, și a făcut legenda “Încărcați adresele URL” (aceasta este ceea ce apare pe buton).

Apoi, trebuie să activați Selenium Wrapper făcând clic pe meniul Instrumente, apoi faceți clic pe “Referințe”, și apoi răsfoiți până la referința numită “Biblioteca de tip SeleniumWrapper”. Verificați caseta de referință și apoi faceți clic pe OK.

Acum sunteți gata să începeți să scrieți codul de automatizare a browserului folosind Selenium Wrapper!

Funcționalitatea ambalajului de seleniu

Seleniul VBA Wrapper vă oferă mult mai multă funcționalitate decât o să vă pot arăta în acest articol. Puteți vedea cât de mult este disponibil numai dincolo de WebDriver, prin definirea obiectului Selenium ca “Noua SeleniumWrapper”. Atunci când introduceți perioada, va scade toate elementele tipurilor de obiecte pe care le puteți controla, cum ar fi imaginile browserului, fișierele PDF, tastele de tastatură și multe altele.

Acest cod exemplu va folosi WebDriver. Odată ce utilizați obiectul Selenium WebDriver în codul dvs. și tastați perioada, acesta va afișa o listă foarte lungă de metode și proprietăți pe care le puteți utiliza pentru a vă automatiza browserul web.

Poate dura ceva timp pentru a afla tot ce este disponibil, dar Google poate prezenta câteva exemple bune, în spatele probelor disponibile pe pagina de cod Google. Din păcate, din câte știu, nu există un ghid direct pentru folosirea seleniului, dar aș fi recunoscător tuturor cititorilor care ar putea furniza resurse!

Scrierea codului dvs. de seleniu VBA

În acest exemplu, ca în articolul IE, am creat o listă de adrese URL pe care vreau să le deschid automat în Firefox. Apoi am creat butonul așa cum este descris în prima parte a acestui articol.

Codul din spatele butonului este simplu, dar voi explica ceea ce face fiecare secțiune. În primul rând, trebuie să lansați aplicația Firefox. “selenium.start” metoda va face asta. Metodele setTimeout și setImplicitWait nu sunt esențiale, dar pot împiedica închiderea aplicației dvs. pentru totdeauna dacă browserul nu răspunde din anumite motive.

Dim seleniu Ca noul SeleniumWrapper.WebDriver Dim FF ca obiect Dim Dim intRowPosition ca numere întregi Selecționați seleniul SeleniumWrapper.keys Selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") seleniu. setImplicitWait (5000) intRowPosition = 2 seleniu.Open Sheet1.Range ("A" & intRowPosition)

Ultimele două rânduri au setat rândul de date Excel pe care să le citească (rândul doi, unde prima adresă URL este stocată în foaia de calcul) și apoi efectuează “selenium.open” pentru a citi adresa URL din foaia de calcul și ao deschide în Firefox.

Următoarea secțiune a codului mărește indicatorul de rând și citește următoarea adresă URL din listă. Dacă celula nu este necompletată, ea folosește apoi metoda SendKeys pentru a lansa o nouă filă în Firefox, citește următoarea adresă URL din acel câmp și deschide URL-ul în acea filă nouă.

intRowPosition = intRowPosition + 1 În timp ce Sheet1.Range ("A" & intRowPosition) <> vbNullString seleniu.SendKeys keys.Control & "t" selenium.Open Sheet1.Range ("A" & intRowPosition) = Nimic

Scriptul va trece prin întreaga listă până când toate adresele URL vor fi deschise în filele proprii. Iată browserul după ce bucla a trecut prin a doua oară și a deschis MUO într-o filă nouă.

Dacă doriți să utilizați acest cod pentru Chrome, tot ce trebuie să faceți este să modificați linia “selenium.Start “firefox”” la “crom” in schimb.

Acum creați-vă propriul script

Așa cum am menționat mai sus, cel mai bun mod de a învăța puterea seleniului este să tastați “seleniu” în codul dvs., loviți perioada și răsfoiți lista foarte lungă a proprietăților și metodelor disponibile. De exemplu, puteți utiliza proprietatea .URL pentru a obține adresa URL a fișierului deschis în Firefox sau Chrome.

După cum puteți vedea, există multe alte lucruri pe care le puteți face care depășesc sfera de aplicare a acestui articol. Dar experimentează și distrează-te. Din fericire, majoritatea funcțiilor vor afișa un text de ajutor care vă arată ce parametri așteaptă fiecare funcție. Acest lucru poate ajuta foarte mult când vine vorba de a afla cum să-l folosească.

Utilizați VBA pentru a vă automatiza computerul? Ați automatizat vreodată sesiunile dvs. de browser de la VBA? Împărtășiți propriile sfaturi și experiențe cu acesta în secțiunea de comentarii de mai jos!

Explorați mai multe despre: Google Chrome, Microsoft Excel, Mozilla Firefox, programare Visual Basic.