Oglas

Ključ do avtomatizacije je, da se stvari odvijajo hitreje in enostavneje kot doslej. Torej, za kaj potrebujete dolgo časa? Kateri del vaše delovne obremenitve bi radi avtomatizirali?

Kar zadeva produktivnost, je Excel najpogostejše orodje, ki ga ljudje uporabljajo za stvari, kot so organiziranje financ, vodenje projektov, in določanje prednostnih ciljev. Prejšnji teden sem opisal kako avtomatizirati IE z nastavitvijo skupin URL-jev na listih Excela in nato z uporabo predmeta IE v sistemu Windows za avtomatizacijo zaganjanja skupin URL-jev neposredno iz Excela.

Po tem članku so se mnogi bralci vprašali, kako to storiti v Firefoxu ali Chromu. Ker niti Firefox niti Chrome nimata podobnega predmeta z operacijskim sistemom Windows, ki se lahko uporablja za avtomatizacijo VBA, izvedba enakih dejanj na teh drugih brskalnikih zahteva dodaten korak. Ta korak je namestitev Selenium VBA - Windows COM ovoj za Selenium.

Omogoča vam klicanje iz katere koli aplikacije, ki podpira VBA, da odprete brskalnik - ne le IE - in nadzorujete to sejo brskalnika. To je močno orodje za avtomatizacijo, ki se tako pogosto uporablja, da mnogi priljubljeni prodajalci brskalnikov vključujejo Selenium kot izvorni del svojega brskalnika. Z uporabo v svojih aplikacijah za avtomatizacijo zagotovo podpirajo prihodnja leta.

instagram viewer

Avtomatizacija Firefoxa in Chroma s Selenilom

Preden začnete s tem projektom, morate prenesti in namestiti ovitek Selenium VBA. Potem, kot sem razpravljal v članku o avtomatizacija IE, če želite v Excelu napisati katero koli VBA, morate stopiti v način oblikovanja in si ogledati kodo. Če tega še niste storili, morate samo iti v menijsko točko »Developer« in klikniti na Oblika oblikovanja. Kliknite gumb »Vstavi«, kliknite gumb ActiveX in ga nekje narišite na svoj list. Ko to storite, kliknite gumb in nato »Prikaži kodo«.

selen1

V oknu urejevalnika kode v spodnjem levem kotu spremenite tako, da spremenite tako »Ime« kot »napis«, da odsevate, za kaj se uporablja gumb. V tem primeru bo gumb za odpiranje seznama URL-jev, ki ste jih navedli v preglednici. V mojem primeru sem ga pravkar imenoval cmdLoadURL in napisal "Naloži URL-je" (to se prikaže na gumbu).

selen1b

Nato morate omogočiti Selenium Wrapper s klikom na meni Tools (Orodja), nato kliknite na »References« in nato poiščite sklic, imenovan »SeleniumWrapper Type Library«. Potrdite to referenčno polje in kliknite V redu.

selen2

Zdaj ste pripravljeni začeti pisati kodo za avtomatizacijo brskalnika z uporabo Selenium Wrapper!

Funkcionalnost ovoja iz selena

Ovojni pokrov Selenium VBA vam nudi veliko več funkcionalnosti, kot vam bom lahko pokazal v tem članku. Če vidite, koliko je na voljo poleg WebDriverja, lahko vidite, če predmet Selenium definirate kot "New SeleniumWrapper". Ko vtipkate obdobje, bo spustite vse elemente vrst predmetov, ki jih lahko nadzirate, na primer slike brskalnika, datoteke PDF, tipke na tipkovnici in drugo.

selen3

Ta zgledna koda bo uporabljala program WebDriver. Ko uporabite kodo Selenium WebDriver v kodi in vnesete obdobje, bo spustil zelo dolg seznam metod in lastnosti, ki jih lahko uporabite za avtomatizacijo spletnega brskalnika.

selen4

Lahko traja nekaj časa, da se naučite vsega, kar je na voljo, vendar Google lahko za vzorce, ki so na voljo na spletnem mestu, najde nekaj dobrih primerov Stran s kodo Google. Na žalost, kolikor vem, ni nobenega preprostega vodnika za uporabo Selenium, vendar bi bil hvaležen vsem bralcem, ki bi lahko zagotovili kakršna koli sredstva!

Pisanje vaše kode za VBA Selenium

V tem primeru sem, tako kot v članku o IE, ustvaril seznam URL-jev, ki jih želim samodejno odpreti v Firefoxu. Nato sem ustvaril gumb, kot je opisano v prvem delu tega članka.

selen5

Koda za gumbom je preprosta, vendar bom razložil, kaj počne vsak oddelek. Najprej morate zagnati aplikacijo Firefox. To bo storila metoda „selenium.start“. Metoda setTimeout in setImplicitWait nista kritični, vendar lahko preprečita, da bi se vaša aplikacija za vedno zaklenila, če se brskalnik iz nekega razloga ne odzove.

Zatemni selen kot nov seleniumWrapper. WebDriver. Zatemnite FF kot predmet. Zatemni intRowPosition kot celoten. Zatemnite tipke Kot nov SeleniumWrapper.keys selelen. Začnite "firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selen. Odpri Sheet1.Range ("A" in intRowPosition)

Zadnjih par vrstic nastavi vrstico Excelovih podatkov za branje (druga vrstica, kjer je prvi URL shranjen v preglednico) in nato izvede metodo „selenium.open“ za branje URL-ja iz te preglednice in ga odprite v Firefox.

selen7

Naslednji razdelek povečuje kazalec vrstice in prebere naslednji URL na seznamu. Če celica ni prazna, potem z uporabo metode SendKeys zažene nov zavihek v Firefoxu, prebere naslednji URL iz te prodaje in odpre URL v tem novem zavihku.

intRowPosition = intRowPosition + 1 medtem ko Sheet1.Range ("A" & intRowPosition) <> vbNullString selena. Ključi SendKeys. Nadzor & "t" selena. Odprite Sheet1.Range ("A" in intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = nič

Skript se bo vrtel skozi celoten seznam, dokler se vsi URL-ji ne odprejo na lastnih zavihkih. Tu je brskalnik, ko je zanka drugič zaživela in odprla MUO na novem zavihku.

selen8

Če želite to kodo uporabiti za Chrome, morate spremeniti vrstico „selelen“. Namesto tega zaženite "firefox" "v" chrome ".

Zdaj ustvarite svoj skript

Kot sem že omenil, je najboljši način spoznavanja moči selenijskega ovoja tipkanje „selena“ v kodi zadržite obdobje in preprosto brskajte po zelo dolgem seznamu razpoložljivih lastnosti in metod. Na primer, lahko uporabite lastnost .URL za pridobitev URL trenutno odprtega zavihka v Firefoxu ali Chromu.

selen9

Kot lahko vidite, lahko veliko več stvari, ki jih lahko naredite, presegajo obseg tega članka. Toda eksperimentirajte in se zabavajte. Na srečo bo večina funkcij pojavila besedilo pomoči, ki vam pokaže, katere parametre pričakuje vsaka funkcija. To je lahko v veliko pomoč, ko bomo ugotovili, kako ga uporabljati.

Za vas bo naslednji scenaristični projekt ustvarjanje lastne preproste aplikacije z VBA Kako lahko naredite svojo preprosto aplikacijo z VBAŽelite vedeti, kako narediti lastno aplikacijo VBA za reševanje težav? S pomočjo teh nasvetov sestavite svojo programsko opremo VBA. Preberi več ?

Ryan ima diplomo iz elektrotehnike. 13 let je delal v avtomatizacijskem inženiringu, 5 let v IT, zdaj pa je inženir Apps. Nekdanji glavni urednik MakeUseOf je govoril na nacionalnih konferencah o vizualizaciji podatkov in je bil predstavljen na nacionalni televiziji in radiu.