Oglas
Ključ automatizacije čini stvari bržim i lakšim nego što ste to ikada prije radili. Pa što ti treba dugo vremena za raditi? Koji biste dio svog posla željeli automatizirati?
Što se tiče produktivnosti, Excel je najčešći alat koji ljudi koriste za stvari poput organiziranja financija, vođenje projekata, i postavljanje prioriteta ciljevima. Prošli tjedan sam vam opisao kako automatizirati IE postavljanjem skupina URL-ova u Excel listove, a zatim pomoću IE objekta u sustavu Windows za automatizaciju pokretanja skupina URL-ova izravno iz Excela.
Slijedom tog članka, mnogi su se čitatelji pitali kako to učiniti u Firefoxu ili Chromeu. Budući da ni Firefox ni Chrome nemaju sličan objekt uključen u sustav Windows koji se može koristiti za VBA automatizaciju, izvođenje iste vrste akcija na ostalim preglednicima zahtijeva dodatni korak. Taj je korak instalacija Selenium VBA - Windows COM omot za Selenium.
Omogućuje vam pozive iz bilo koje aplikacije koja podržava VBA kako biste otvorili preglednik - ne samo IE - i kontrolirali sesiju preglednika. To je moćan alat za automatizaciju koji se toliko često koristi da mnogi popularni dobavljači preglednika uključuju Selenium kao izvorni dio svog preglednika. Koristite ga u vašim automatizacijskim programima sigurno će podržavati i godine koje dolaze.
Automatizirajte Firefox i Chrome sa Selenilom
Prije nego što započnete s ovim projektom, morat ćete preuzeti i instalirati omot Selenium VBA. Zatim, baš kao što sam govorio u članku o automatiziranje IE, da biste napisali bilo koji VBA u Excelu, morate prijeći u način dizajna i pogledati kôd. Ako to nikad niste učinili, samo morate da otvorite stavku izbornika "Programer" i kliknete na Oblik dizajna. Kliknite gumb "Umetanje", pritisnite gumb ActiveX i negdje ga nacrtajte na svoj list. Nakon što to učinite, kliknite gumb, a zatim kliknite "View Code".
U prozoru za uređivanje koda, u donjem lijevom kutu, obavezno promijenite i "Name" i "Caption" kako bi odražavali za što služi gumb. U tom slučaju gumb će se otvoriti popis URL-ova koji ste naveli u proračunskoj tablici. U mom slučaju, upravo sam je nazvao cmdLoadURLs i napisao naslov "Učitaj URL-ove" (to se prikazuje na gumbu).
Zatim trebate omogućiti Selenium Wrapper klikom na izbornik Alati, zatim na "Reference", a zatim potražite referencu pod nazivom "SeleniumWrapper Type Library". Označite taj referentni okvir, a zatim kliknite U redu.
Sada ste spremni za početak pisanja koda za automatizaciju preglednika pomoću Selenium Wrapper!
Funkcionalnost selenskog omotača
Selenium VBA omot vam daje puno više funkcionalnosti nego što ću vam moći pokazati u ovom jednom članku. Možete vidjeti koliko je dostupno osim WebDrivera definirajući objekt Selenium kao "Novi SeleniumWrapper". Kada upišete razdoblje, padat će vam svi elementi vrsta objekata kojima možete upravljati, poput slika preglednika, PDF datoteka, tipkovnica na tipkovnici i više.
U ovom primjeru koda koristit će se WebDriver. Jednom kada u kôd koristite objekt Selenium WebDriver i upišete razdoblje, s njega će se pojaviti vrlo dugačak popis metoda i svojstava koje možete koristiti za automatizaciju web preglednika.
Možda će trebati neko vrijeme da naučimo sve što je dostupno, ali Google može pronaći dobre primjere iza uzoraka koji su dostupni na Stranica s Google kodom. Nažalost, koliko ja znam, ne postoji jednostavan vodič za upotrebu Selenium-a, ali bio bih zahvalan svim čitateljima koji mogu pružiti bilo kakve resurse!
Pisanje vašeg VBA koda selena
U ovom primjeru, kao u članku IE, stvorio sam popis URL-ova koje želim automatski otvoriti u Firefoxu. Tada sam stvorio gumb kako je opisano u prvom dijelu ovog članka.
Kôd iza gumba je jednostavan, ali objasnit ću što svaki odjeljak radi. Prvo, trebate pokrenuti Firefox aplikaciju. To će učiniti metoda "selenium.start". Metode setTimeout i setImplicitWait nisu kritične, ali mogu spriječiti da se vaša aplikacija zauvijek zaključa ako preglednik ne odgovori iz nekog razloga.
Dim selena Kao novi seleniumWrapper. WebDriver. Dim FF kao objekt. Zatamnjen intRowPosition kao cjelobrojni. Dim tipke Kao novi SeleniumWrapper.keys selelen. Pokrenite "firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selen. Otvori Sheet1.Range ("A" i intRowPosition)
Zadnjih par redaka postavlja redak Excelovih podataka za čitanje (drugi redak, gdje je prvi URL pohranjen u proračunsku tablicu), a zatim provodi metodu "selenium.open" za čitanje URL-a iz te proračunske tablice i otvaranje u Firefox.
Sljedeći odjeljak povećava pokazivač retka i čita sljedeći URL na popisu. Ako ćelija nije prazna, tada pomoću metode SendKeys pokreće novu karticu u Firefoxu, čita sljedeći URL iz te prodaje i otvara URL u toj novoj kartici.
intRowPosition = intRowPosition + 1 Dok je Sheet1.Range ("A" & intRowPosition) <> vbNullString selena. Tipke SendKeys. Kontrolirajte i "t" selen. Otvori Sheet1.Range ("A" i intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Ništa
Skripta će se kretati kroz cijeli popis dok svi URL-ovi ne budu otvoreni na vlastitim karticama. Evo preglednika nakon što je petlja prošla drugi put i otvorila MUO na novoj kartici.
Ako želite koristiti ovaj kôd za Chrome, sve što trebate učiniti je promijeniti liniju "selelen". Umjesto toga pokrenite "firefox" "chrome".
Sada stvorite vlastitu skriptu
Kao što sam gore spomenuo, najbolji način da naučite snagu selenskog omotača je upisivanje "selena" u kôdu pritisnite tipku i samo pregledajte dugačak popis dostupnih svojstava i metode. Na primjer, pomoću svojstva .URL možete dobiti URL trenutno otvorene kartice u Firefoxu ili Chromeu.
Kao što vidite, možete učiniti mnogo više stvari koje nadilaze okvire ovog članka. Ali eksperimentirajte i zabavite se. Srećom, većina funkcija pojavit će se tekst pomoći koji vam pokazuje koje parametre svaka funkcija očekuje. To može uvelike pomoći kada se osmisli kako se njime koristiti.
Za vas je sljedeći scenaristički projekt stvarajući vlastitu jednostavnu aplikaciju s VBA Kako možete napraviti svoju vlastitu jednostavnu aplikaciju s VBAŽelite znati kako napraviti vlastitu VBA aplikaciju za rješavanje problema? Pomoću ovih savjeta napravite vlastiti VBA softver. Čitaj više ?
Ryan je diplomirao elektrotehniku. Radio je 13 godina u inženjerstvu automatizacije, 5 godina u IT-u, a sada je Apps inženjer. Bivši glavni urednik MakeUseOfa, govorio je na nacionalnim konferencijama o vizualizaciji podataka i bio je prikazan na nacionalnoj televiziji i radiju.