Reklama
Kľúčom k automatizácii je robiť veci rýchlejšie a ľahšie, ako ste doteraz robili. Čo ti teda trvá dlho? Ktorú časť vášho pracovného zaťaženia by ste chceli automatizovať?
Pokiaľ ide o produktivitu, Excel je najbežnejším nástrojom, ktorý ľudia používajú na organizovanie financií, riadenie projektova uprednostňovanie cieľov. Minulý týždeň som opísal, ako automatizovať IE nastavením skupín adries URL v hárkoch Excelu a potom pomocou objektu IE v systéme Windows na automatizáciu spúšťania skupín adries URL priamo zvnútra Excelu.
Po tomto článku sa mnohí čitatelia pýtali, ako to isté urobiť v prehliadači Firefox alebo Chrome. Pretože ani Firefox, ani Chrome neobsahujú podobný objekt, ktorý možno použiť na automatizáciu VBA, vykonanie rovnakých akcií v iných prehliadačoch vyžaduje ďalší krok. Týmto krokom je inštalácia Selén VBA - Windows COM wrapper pre selén.
Umožňuje vám uskutočňovať hovory z ľubovoľnej aplikácie, ktorá podporuje VBA, aby ste otvorili prehliadač - nielen IE - a ovládali túto reláciu prehliadača. Je to výkonný automatizačný nástroj, ktorý sa používa tak často, že mnohí populárni dodávatelia prehliadačov začleňujú selén ako prirodzenú súčasť svojho prehliadača. Jeho použitie vo vašich automatizačných aplikáciách bude určite podporované aj v nasledujúcich rokoch.
Automatizácia prehliadačov Firefox a Chrome pomocou selénu
Predtým, ako začnete s týmto projektom, budete si musieť stiahnuť a nainštalovať obal Selenium VBA. Potom, rovnako ako som diskutoval v článku o automatizácia IE, ak chcete písať akékoľvek VBA v Exceli, musíte sa dostať do návrhového režimu a zobraziť kód. Ak ste to ešte nikdy neurobili, stačí prejsť do položky ponuky „Vývojár“ a kliknúť na Režim dizajnu. Kliknite na tlačidlo „Vložiť“, potom na tlačidlo ActiveX a niekde ho nakreslite na svoj hárok. Keď to urobíte, kliknite na tlačidlo a potom kliknite na „Zobraziť kód“.
V okne editora kódov v ľavom dolnom rohu nezabudnite zmeniť názov „aj názov“ a „titulok“, aby odrážali, pre čo je tlačidlo určené. V takom prípade sa týmto tlačidlom otvorí zoznam adries URL, ktoré ste uviedli v tabuľke. V mojom prípade som to nazval cmdLoadURL a vytvoril som nadpis „Načítať adresy URL“ (toto sa zobrazuje na tlačidle).
Ďalej musíte aktivovať nástroj Selenium Wrapper kliknutím na ponuku Nástroje, potom na odkaz „Odkazy“ a potom prejdite nadol na odkaz s názvom „Knižnica typov SeleniumWrapper“. Začiarknite príslušné referenčné políčko a potom kliknite na tlačidlo OK.
Teraz ste pripravení začať písať kód automatizácie prehliadača pomocou Selenium Wrapper!
Funkčnosť obalu na selén
Selenium VBA Wrapper vám poskytuje omnoho viac funkcií, ako vám ukážem v tomto jednom článku. Ak chcete zistiť, koľko je k dispozícii iba za WebDriverom, definovaním objektu Selenium ako „New SeleniumWrapper“. Pri zadávaní obdobia sa rozbaľujú všetky prvky typov objektov, ktoré môžete ovládať, ako sú obrázky prehliadača, súbory PDF, klávesy klávesnice a ďalšie.
Tento vzorový kód bude používať WebDriver. Keď vo svojom kóde použijete objekt Selenium WebDriver a zadáte obdobie, rozbalí sa veľmi dlhý zoznam metód a vlastností, ktoré môžete použiť na automatizáciu webového prehliadača.
Získanie všetkého, čo je k dispozícii, môže trvať nejaký čas, ale spoločnosť Google môže ukázať niekoľko dobrých príkladov za ukážkami dostupnými na webe Google Code page. Bohužiaľ, pokiaľ viem, neexistuje žiadny jednoduchý návod na používanie selénu, ale bol by som vďačný za všetkých čitateľov, ktorí môžu poskytnúť akékoľvek zdroje!
Písanie kódu selénu VBA
V tomto príklade, podobne ako v článku IE, som vytvoril zoznam adries URL, ktoré chcem automaticky otvoriť v prehliadači Firefox. Potom som vytvoril tlačidlo podľa popisu v prvej časti tohto článku.
Kód za tlačidlom je jednoduchý, ale vysvetlím, čo jednotlivé oddiely robia. Najprv musíte spustiť aplikáciu Firefox. Metóda „selenium.start“ to urobí. Metódy setTimeout a setImplicitWait nie sú kritické, ale môžu zabrániť vášmu uzamknutiu navždy, ak prehliadač z nejakého dôvodu neodpovedá.
Dim selén ako nový selénový obal. WebDriver. Dim FF ako objekt. Dim intRowPosition As Integer. Stlmiť kľúče ako nový seleniumWrapper.keys selen. Spustiť „firefox“, „ https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selén. Otvorte Sheet1.Range („A“ a intRowPosition)
Posledných pár riadkov nastavuje čítanie údajov v Exceli (riadok dva, kde je prvá adresa URL uložená v tabuľka) a potom vykoná metódu „selenium.open“ na prečítanie adresy URL z tejto tabuľky a jej otvorenie v Firefox.
Ďalšia časť kódu zvyšuje ukazovateľ riadka a číta nasledujúcu adresu URL v zozname. Ak bunka nie je prázdna, na spustenie novej karty vo Firefoxe použije metódu SendKeys, načíta ďalšiu adresu URL z tohto predaja a otvorí adresu URL na tejto novej karte.
intRowPosition = intRowPosition + 1, zatiaľ čo Sheet1.Range ("A" & intRowPosition) <> vbNullString selén. Klávesy SendKeys. Kontrolný a „t“ selén. Otvorte Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Nič
Skript prebehne celým zoznamom, kým sa všetky adresy URL neotvoria na ich vlastných kartách. Tu je prehliadač po tom, čo slučka prešla druhýkrát a otvorila MUO na novej karte.
Ak chcete tento kód použiť pre prehliadač Chrome, stačí zmeniť riadok selén. Namiesto toho začnite „firefox“ “na„ chrome “.
Teraz si vytvorte vlastný skript
Ako som už uviedol vyššie, najlepším spôsobom, ako sa naučiť silu baliča selénu, je napísať „selén“ vo svojom kóde kliknite na obdobie a prehľadajte veľmi dlhý zoznam dostupných vlastníctiev a metódy. Napríklad môžete použiť vlastnosť .URL na získanie adresy URL aktuálne otvorenej karty v prehliadači Firefox alebo Chrome.
Ako vidíte, existuje oveľa viac vecí, ktoré môžete urobiť a ktoré idú nad rámec tohto článku. Ale experimentujte a bavte sa. Našťastie väčšina funkcií zobrazí vyskakovací text pomocníka, ktorý vám ukáže, aké parametre každá funkcia očakáva. To môže veľmi pomôcť pri zisťovaní, ako ho používať.
Čo sa týka ďalšieho skriptovacieho projektu Vytvorenie vlastnej jednoduchej aplikácie pomocou VBA Ako si môžete vytvoriť svoju vlastnú jednoduchú aplikáciu pomocou VBAChcete vedieť, ako vytvoriť svoju vlastnú aplikáciu VBA na riešenie problémov? Tieto tipy použite na vytvorenie vlastného softvéru VBA. Čítaj viac ?
Ryan má titul bakalára v odbore elektrotechnika. Pracoval 13 rokov v automatizačnom inžinierstve, 5 rokov v IT a teraz je aplikačným inžinierom. Bývalý šéfredaktor MakeUseOf, vystúpil na národných konferenciách o vizualizácii údajov a vystupoval v celoštátnych televíziách a rozhlase.