Skelbimas

Automatizavimo raktas yra tai, kad viską darote greičiau ir lengviau, nei jūs kada nors darėte anksčiau. Taigi, ko jums reikia ilgai imtis? Kokią jūsų darbo krūvio dalį norėtumėte automatizuoti?

Kalbant apie produktyvumą, „Excel“ yra labiausiai paplitęs įrankis, kurį žmonės naudoja tokiems dalykams kaip finansai tvarkyti, projektų valdymasir prioritetų teikimas tikslams. Praėjusią savaitę aprašiau, kaip tai padaryti automatizuoti IE sukūrę URL grupes „Excel“ lapuose ir naudodami „IE“ objektą „Windows“ automatizuodami URL grupių paleidimą tiesiai iš „Excel“ vidaus.

Po to straipsnio daugelis skaitytojų paklausė, kaip tą patį padaryti „Firefox“ ar „Chrome“. Kadangi nei „Firefox“, nei „Chrome“ nėra panašaus objekto, esančio „Windows“, kurį galima naudoti VBA automatizavimui, norint atlikti tuos pačius veiksmus tose kitose naršyklėse, reikia atlikti papildomą veiksmą. Šis žingsnis yra diegimas Selenas VBA - „Windows COM“ paketas, skirtas selenui.

Tai leidžia jums skambinti iš bet kurios programos, palaikančios VBA, norėdami atidaryti naršyklę - ne tik IE - ir valdyti tą naršyklės sesiją. Tai yra galingas automatizavimo įrankis, kuris taip dažnai naudojamas, kad daugelis populiarių naršyklių pardavėjų įtraukia seleną kaip savo naršyklės dalį. Tikrai, kad jį naudosite automatizavimo programose, ji bus palaikoma ateinančius metus.

instagram viewer

„Firefox“ ir „Chrome“ automatizavimas naudojant seleną

Prieš pradėdami dirbti su šiuo projektu, turėsite atsisiųsti ir įdiegti „Selenium VBA“ aplanką. Tada, kaip jau aptariau straipsnyje apie automatizuoti IE, norėdami parašyti bet kurį VBA „Excel“, turite įsijungti į projektavimo režimą ir peržiūrėti kodą. Jei niekada to nepadarėte anksčiau, jums tereikia pereiti į meniu punktą „Kūrėjas“ ir spustelėti „Dizaino režimas“. Spustelėkite mygtuką „Įterpti“, spustelėkite mygtuką „ActiveX“ ir nubrėžkite jį ant savo lapo kažkur. Kai tai padarysite, spustelėkite mygtuką, tada spustelėkite „Žiūrėti kodą“.

selenas1

Kodo redaktoriaus lange, apatiniame kairiajame kampe, būtinai pakeiskite „Vardas“ ir „Antraštė“, kad atspindėtumėte, kam skirtas mygtukas. Tokiu atveju mygtukas bus atidarytas URL sąraše, kurį nurodėte skaičiuoklėje. Mano atveju, aš tiesiog pavadinau jį „cmdLoadURLs“ ir padariau antraštę „Įkelti URL“ (štai ką rodo mygtukas).

selenas1b

Tada turėsite įjungti „Selenium Wrapper“ spustelėdami meniu „Įrankiai“, tada spustelėdami „Nuorodos“ ir naršydami žemyn iki nuorodos, pavadintos „SeleniumWrapper Type Library“. Pažymėkite tą nuorodos laukelį ir spustelėkite Gerai.

selenas2

Dabar esate pasirengęs pradėti rašyti naršyklės automatizavimo kodą naudodamiesi „Selenium Wrapper“!

Seleno vyniojimo priemonės funkcionalumas

„Selenium VBA Wrapper“ suteikia daug daugiau funkcijų, nei galėsiu jums parodyti šiame viename straipsnyje. Apibrėždami „Selenium“ objektą kaip „New SeleniumWrapper“, galite pamatyti tik tiek, kiek yra daugiau nei „WebDriver“. Kai įvedate periodą, jis išskleidžia visus objektų, kuriuos galite valdyti, elementus, pvz., Naršyklės vaizdus, ​​PDF failus, klaviatūros klavišus ir dar daugiau.

selenas3

Šis pavyzdinis kodas bus naudojamas „WebDriver“. Kai kode panaudosite objektą „Selenium WebDriver“ ir įvesite periodą, jis išskleidžia labai ilgą metodų ir savybių, kuriuos galite naudoti automatizuodami savo interneto naršyklę, sąrašą.

selenas4

Gali prireikti šiek tiek laiko išmokti visko, kas yra prieinama, tačiau „Google“ gali pateikti keletą gerų pavyzdžių, pateikdama pavyzdžius, kuriuos galite rasti „Google“ kodo puslapis. Deja, kiek žinau, nėra aiškių nurodymų, kaip naudoti seleną, tačiau būčiau dėkingas visiems skaitytojams, galintiems suteikti išteklių.

VBA seleno kodo rašymas

Šiame pavyzdyje, kaip ir IE straipsnyje, aš sukūriau URL, kuriuos noriu automatiškai atidaryti „Firefox“, sąrašą. Tada sukūriau mygtuką, kaip aprašyta pirmoje šio straipsnio dalyje.

selenas5

Kodas už mygtuko yra aiškus, bet aš paaiškinsiu, ką daro kiekviena skiltis. Pirmiausia turite paleisti „Firefox“ programą. „Selenium.start“ metodas tai padarys. „SetTimeout“ ir „setImplicitWait“ metodai nėra kritiški, tačiau gali užkirsti kelią jūsų programos užrakinimui visam laikui, jei naršyklė dėl kokių nors priežasčių neatsako.

Sumažinkite seleną kaip naują „SeleniumWrapper“. „WebDriver“. Dim FF kaip objektas. Dim intRowPosition kaip sveikasis skaičius. Sumažinti raktai, kaip Naujasis „SeleniumWrapper.keles“ selenas. Pradėti „Firefox“, „ https://www.google.com" „selenium.setTimeout“ („120000“) selenium.setImplicitWait (5000) intRowPosition = 2. selenas. Atidaryti „Sheet1.Range“ („A“ ir „intRowPosition“)

Paskutinės poros eilučių nustato „Excel“ duomenų eilutę, kurią reikia perskaityti (antrą eilutę, kurioje pirmasis URL saugomas skaičiuoklę), o tada atlieka metodą „selenium.open“, kad nuskaitytų URL iš tos skaičiuoklės ir atidarytų jį „Firefox“.

selenas7

Kitas kodo skyrius padidina eilutės rodyklę ir nuskaito kitą sąrašo URL. Jei langelis nėra tuščias, jis naudoja „SendKeys“ metodą, kad paleistų naują skirtuką „Firefox“, nuskaitytų kitą parduodamo URL ir atidarytų URL tame naujame skirtuke.

intRowPosition = intRowPosition + 1, kol „Sheet1.Range“ („A“ ir intRowPosition) <> vbNullString selenas. „SendKeys“ raktai. Kontrolinis ir „t“ selenas. Atidarykite Sheet1.Range („A“ ir intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = nieko

Scenarijus tęsis per visą jūsų sąrašą, kol visi URL nebus atidaryti savo skirtukuose. Štai naršyklė po to, kai kilpa antrą kartą buvo atidaryta ir naujame skirtuke atidarė MUO.

selenas8

Jei norite naudoti šį kodą „Chrome“, viskas, ką jums reikia padaryti, yra pakeisti eilutę „selenas. Vietoj to pradėkite „firefox“ “į„ chrome “.

Dabar sukurkite savo scenarijų

Kaip jau minėjau aukščiau, geriausias būdas išmokti seleno vyniojimo galios yra įvesti „selenas“ savo kode paspauskite periodą ir tiesiog naršykite po labai ilgą galimų ypatybių sąrašą ir metodai. Pvz., Galite naudoti .URL nuosavybę norėdami gauti šiuo metu atidaryto skirtuko URL „Firefox“ arba „Chrome“.

selenas9

Kaip matote, yra daug daugiau dalykų, kuriuos galite padaryti, kad jie peržengtų šio straipsnio taikymo sritį. Bet eksperimentuokite ir linksminkitės. Laimei, daugumoje funkcijų pasirodys pagalbos tekstas, parodantis, kokių parametrų tikimasi iš kiekvienos funkcijos. Tai gali labai padėti, kai reikia išsiaiškinti, kaip juo naudotis.

Kaip bus jums po kito scenarijaus projekto kurdami savo paprastą programą naudodami VBA Kaip galite sukurti savo paprastą programą naudodami VBANorite sužinoti, kaip sukurti savo VBA programą, norint išspręsti problemas? Naudokitės šiais patarimais kurdami savo VBA programinę įrangą. Skaityti daugiau ?

Ryanas turi elektros inžinerijos bakalauro laipsnį. Jis 13 metų dirbo automatikos inžinerijoje, 5 metus IT srityje, o dabar yra programų inžinierius. Buvęs „MakeUseOf“ generalinis redaktorius, jis kalbėjo nacionalinėse duomenų vizualizacijos konferencijose ir buvo rodomas per nacionalinę televiziją ir radiją.