Reklaam

Automatiseerimise võti on asjade kiirem ja hõlpsamaks tegemine, kui olete kunagi varem teinud. Mis võtab teil siis kaua aega? Millist osa teie töökoormusest soovite automatiseerida?

Tootlikkuse osas on Excel kõige levinum tööriist, mida inimesed kasutavad näiteks rahanduse korraldamiseks, projektide juhtimineja eesmärkide seadmine prioriteediks. Eelmisel nädalal kirjeldasin, kuidas seda teha automatiseerida IE seadistades URL-i rühmad Exceli lehtedel ja kasutades seejärel Windowsi IE-objekti URL-ide rühmade käivitamise automatiseerimiseks otse Exceli seest.

Pärast seda artiklit küsisid paljud lugejad, kuidas Firefoxis või Chrome'is sama asja teha. Kuna ei Firefoxil ega Chrome'il pole Windowsiga sarnast objekti, mida saaks kasutada VBA automatiseerimiseks, nõuab sama tüüpi toimingute tegemine nendes teistes brauserites täiendavat sammu. See samm on installimine Seleeni VBA - Windowsi COM ümbris seleeni jaoks.

See võimaldab teil brauseri - mitte ainult IE - avamiseks ja selle brauseri seansi juhtimiseks helistada mis tahes rakendusest, mis toetab VBA-d. See on võimas automatiseerimisriist, mida kasutatakse nii sageli, et paljud populaarsed brauseritarnijad lisavad seleeni oma brauseri loomuliku osana. Selle kasutamist oma automaatikarakendustes toetatakse kindlasti aastaid.

Firefoxi ja Chrome'i automatiseerimine seleeniga

Enne selle projektiga alustamist peate alla laadima ja installima Seleeni VBA ümbrise. Siis, nagu ma arutasin artiklis IE automatiseerimine, suvalise VBA kirjutamiseks Excelis peate jõudma kujundusrežiimi ja nägema koodi. Kui te pole seda kunagi varem teinud, peate lihtsalt minema menüüpunkti Arendaja ja klõpsama kujundusrežiimi. Klõpsake nuppu „Sisesta“, seejärel nuppu ActiveX ja joonistage see oma lehele kuskile. Kui olete selle teinud, klõpsake nuppu ja siis nuppu „Vaata koodi”.

seleen1

Koodiredaktori aknas vasakus alanurgas muutke kindlasti nii “Nimi” kui ka “Tiitrit”, et kajastada seda, milleks nupp on mõeldud. Sel juhul kuvatakse nupul arvutustabelis loetletud URL-ide loend. Minu puhul kutsusin seda lihtsalt cmdLoadURL-ideks ja tegin pealdise “Load URLs” (see kuvatakse nupul).

seleen1b

Järgmisena peate aktiveerima seleeni mähise, klõpsates menüül Tööriistad, siis klõpsates “Viited” ja sirvides allapoole viiteni nimega “SeleniumWrapperi tüübi kogu”. Märkige see võrdluskast ja klõpsake siis nuppu OK.

seleen2

Olete nüüd valmis alustama brauseri automatiseerimiskoodi kirjutamist Seleeni mähise abil!

Seleenikääre funktsionaalsus

Seleeni VBA ümbris annab teile palju rohkem funktsioone, kui ma teile selles ühes artiklis näidata saan. Määratledes Seleeni objekti kui „New SeleniumWrapper”, näete ainult seda, kui palju on lisaks WebDriverile saadaval. Perioodi sisestamisel rippub see kõik teie kontrollitavate objektide tüüpide kõik elemendid, näiteks brauseri pildid, PDF-failid, klaviatuuriklahvid ja palju muud.

seleen3

Selle näitekood kasutab WebDriverit. Kui olete oma koodis objekti Selenium WebDriver kasutanud ja perioodi tippinud, rippub see väga pikkade meetodite ja omaduste loendit, mida saate kasutada oma veebibrauseri automatiseerimiseks.

seleen4

Kõigi saadaolevate võimaluste õppimiseks võib kuluda natuke aega, kuid Google võib veebisaidil saadavate proovide taga tuua mõned head näited Google'i koodi leht. Kahjuks pole minu teada seleeni kasutamise kohta ühtegi selget juhendit, kuid oleksin tänulik kõigile lugejatele, kes võiksid mingeid ressursse pakkuda!

VBA seleenikoodi kirjutamine

Selles näites, nagu ka IE artiklis, olen loonud URL-ide loendi, mida soovin Firefoxis automaatselt avada. Seejärel lõin nupu, nagu on kirjeldatud selle artikli esimeses osas.

seleen5

Nupu taga olev kood on sirgjooneline, kuid ma selgitan, mida iga sektsioon teeb. Esiteks peate käivitama Firefoxi rakenduse. Sellega saab hakkama seleeni.starti meetod. Meetodid setTimeout ja setImplicitWait pole kriitilised, kuid võivad takistada teie rakenduse igavesti lukustamist, kui brauser mingil põhjusel ei reageeri.

Uue seleenipakendina tuhm seleen. WebDriver. Dim FF kui objekt. Dim intRowPosition kui täisarv. Hämarklahvid, kuna Uus SeleniumWrapper.nuputab seleeni. Käivitage "Firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. seleen. Avage leht1.Range ("A" ja intRowPosition)

Viimased paar rida määravad Exceli andmete lugemiseks rea (teine ​​rida, kus esimene URL on salvestatud arvutustabelit) ja teostab seejärel meetodi „selenium.open“, et lugeda sellest arvutustabelist URL ja avada see Firefox.

seleen7

Koodi järgmine osa suurendab rea kursorit ja loeb loendis järgmist URL-i. Kui lahter pole tühi, siis kasutab see SendKeys-meetodit, et käivitada Firefoxis uus vahekaart, lugeda järgmine müüdava URL ja avada URL sellel uuel vahekaardil.

intRowPosition = intRowPosition + 1 kui leht Sheet1.Range ("A" ja intRowPosition) <> vbNullString seleen. SendKeys võtmed. Kontroll- ja "t" seleen. Avage leht1.Range ("A" ja intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = mitte midagi

Skript läbib kogu teie nimekirja, kuni kõik URL-id on avatud nende vahekaartidel. Siin on brauser pärast seda, kui silmus läks teist korda läbi ja avas MUO uuel vahelehel.

seleen8

Kui soovite seda koodi Chrome'i jaoks kasutada, peate vaid muutma rida „seleen. Käivitage sõna „firefox” ”asemel„ chrome ”.

Nüüd looge oma skript

Nagu ma eespool mainisin, on parim viis seleenikääre võime tundmaõppimiseks kirjutada “seleen” oma koodis vajutage perioodi ja sirvige lihtsalt väga pikka nimekirja saadaolevatest atribuutidest ja meetodid. Näiteks võite atribuudi .URL abil saada Firefoxi või Chrome'is praegu avatud vahelehe URL-i.

seleen9

Nagu näete, on veel palju asju, mida saate teha, mis ületavad selle artikli ulatust. Kuid katsetage ja nautige. Õnneks hüppab enamik funktsioone hüpikteksti, mis näitab teile, milliseid parameetreid iga funktsioon eeldab. See aitab palju välja mõelda, kuidas seda kasutada.

Kuidas oleks teie jaoks järgmine skriptimisprojekt oma lihtsa rakenduse loomine VBA-ga Kuidas saate oma lihtsa rakenduse teha VBA-gaKas soovite teada, kuidas probleemide lahendamiseks oma VBA-rakendust luua? Kasutage neid näpunäiteid oma VBA tarkvara loomiseks. Loe rohkem ?

Ryanil on bakalaureuse kraad elektrotehnika alal. Ta on töötanud 13 aastat automatiseerimise alal, 5 aastat IT alal ja on nüüd rakenduste insener. MakeUseOfi endine tegevtoimetaja, ta on rääkinud andmete visualiseerimise riiklikel konverentsidel ja teda on kajastatud üleriigilises televisioonis ja raadios.