Jak automatizovat Firefox nebo Chrome pomocí Excel VBA a selenu

  • Joseph Goodman
  • 0
  • 4273
  • 1044
reklama

Klíčem k automatizaci je dělat věci rychleji a snadněji, než jste kdy dělali. Co vám tedy trvá dlouho? Jaká část vašeho pracovního vytížení by chtěla automatizovat?

Pokud jde o produktivitu, Excel je nejobvyklejším nástrojem, který lidé používají pro věci, jako je organizace financí, správa projektů. 10 Výkonné šablony pro správu projektů Excel pro sledování 10 Výkonné šablony pro řízení projektů Excel pro sledování Šablony pro bezplatné řízení projektů jsou nejlepší. Získejte tyto klíčové šablony tabulky Microsoft Excel pro sledování jakéhokoli projektu. a upřednostňování cílů Pomocí úkolů Excel a Google vytvořte nejlepší nástroj pro správu cílů, který jste kdy použili. Pomocí úkolů Excel & Google vytvořte nejlepší nástroj pro správu cílů, kdy jste si v poslední době začal uvědomovat, že pracuji velmi tvrdě, ale pokud se někdo zeptá, mě, zda cítím, že pracuji k většímu účelu, musím říct, že opravdu ne…. Minulý týden jsem popsal, jak automatizovat IE pomocí VBA k automatizaci relací aplikace Internet Explorer z tabulky Excel Pomocí VBA k automatizaci relací aplikace Internet Explorer z tabulky Excelu Jeho integrace s Windows umožňuje ovládání aplikace Internet Explorer několika překvapivými způsoby pomocí jazyka Visual Basic for Skript aplikací (VBA) z jakékoli aplikace, která jej podporuje, jako je Word, Outlook nebo Excel. nastavením skupin adres URL v listech aplikace Excel a poté pomocí objektu IE v systému Windows k automatizaci spouštění skupin adres URL přímo z aplikace Excel.

Po tomto článku se mnoho čtenářů zeptalo, jak udělat to samé v prohlížeči Firefox nebo Chrome. Vzhledem k tomu, že ani Firefox, ani Chrome nemají ve Windows podobný objekt, který lze použít pro automatizaci VBA, vyžaduje provedení stejných akcí v těchto jiných prohlížečích další krok. Tímto krokem je instalace Selenium VBA - Windows COM wrapper pro Selenium.

Umožňuje provádět volání z libovolné aplikace, která podporuje VBA, aby bylo možné otevřít prohlížeč - nejen IE - a řídit tuto relaci prohlížeče. Je to výkonný automatizační nástroj, který se používá tak často, že mnoho populárních dodavatelů prohlížečů používá selen jako nativní součást svého prohlížeče. Jeho použití ve vašich automatizačních aplikacích bude jistě podporováno i v dalších letech.

Automatizace Firefox a Chrome pomocí Selenium

Než začnete s tímto projektem, budete si muset stáhnout a nainstalovat obal Selenium VBA. Poté, stejně jako jsem diskutoval v článku o automatizaci IE pomocí VBA k automatizaci relací aplikace Internet Explorer z tabulky Excelu Použití VBA k automatizaci relací aplikace Internet Explorer z tabulky Excelu Jeho integrace s Windows umožňuje kontrolu aplikace Internet Explorer několika překvapivými způsoby pomocí Skript jazyka VBA (Visual Basic for Applications) z jakékoli aplikace, která jej podporuje, například Word, Outlook nebo Excel. , Chcete-li napsat jakýkoli VBA v Excelu, musíte se dostat do návrhového režimu a zobrazit kód. Pokud jste to nikdy předtím neudělali, stačí jít do “Vývojář” v nabídce a klikněte na Design Mode. Klikněte na “Vložit” klepněte na tlačítko ActiveX a někam nakreslete na svůj list. Jakmile to uděláte, klikněte na tlačítko a poté klikněte na “Zobrazit kód”.

V okně editoru kódu vlevo dole nezapomeňte změnit oba “název” a “Titulek” aby odrážel, k čemu tlačítko slouží. V takovém případě bude tlačítko otevřít seznam adres URL, které jste uvedli v tabulce. V mém případě jsem to nazval cmdLoadURL a udělal jsem titulek “Načíst adresy URL” (to je to, co se zobrazuje na tlačítku).

Dále je třeba aktivovat nástroj Selenium Wrapper kliknutím na nabídku Nástroje a poté na tlačítko “Reference”, a poté přejděte na odkaz s názvem “Knihovna typů SeleniumWrapper”. Zaškrtněte toto referenční pole a klepněte na tlačítko OK.

Nyní jste připraveni začít psát kód automatizace prohlížeče pomocí Selenium Wrapper!

Funkčnost zábalu selenu

Selenium VBA Wrapper vám poskytuje mnohem více funkcí, než vám ukážu v tomto jednom článku. Můžete zjistit, kolik je k dispozici mimo webDriver, definováním objektu Selenium jako “Nový SeleniumWrapper”. Když zadáte období, rozbalí se všechny prvky typů objektů, které můžete ovládat, jako jsou obrázky prohlížeče, soubory PDF, klávesy klávesnice a další.

Tento ukázkový kód bude používat WebDriver. Jakmile v objektu použijete objekt Selenium WebDriver a zadáte období, rozbalí se velmi dlouhý seznam metod a vlastností, které můžete použít k automatizaci webového prohlížeče..

Může trvat nějakou dobu, než se dozví vše, co je k dispozici, ale Google může ukázat několik dobrých příkladů za ukázkami dostupnými na stránce Google Code. Bohužel, pokud vím, neexistuje žádný přímý průvodce používáním selenu, ale byl bych vděčný všem čtenářům, kteří by mohli poskytnout jakékoli zdroje!

Zápis seleniového kódu VBA

V tomto příkladu, stejně jako v článku IE, jsem vytvořil seznam adres URL, které chci automaticky otevřít v prohlížeči Firefox. Poté jsem vytvořil tlačítko, jak je popsáno v první části tohoto článku.

Kód za tlačítkem je jednoduchý, ale vysvětlím, co každá sekce dělá. Nejprve musíte spustit aplikaci Firefox. “selenium.start” metoda to udělá. Metody setTimeout a setImplicitWait nejsou kritické, ale mohou zabránit aplikaci zamknout navždy, pokud prohlížeč z nějakého důvodu nereaguje.

Dim selenium jako nový SeleniumWrapper.WebDriver Dim FF jako objekt Dim intRowPosition As Integer Dim klíče jako nový SeleniumWrapper.keys selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") selen. setImplicitWait (5000) intRowPosition = 2 selen.Open Sheet1.Range ("A" & intRowPosition)

Posledních pár řádků nastaví řádek dat Excelu na čtení (řádek dva, kde je první tabulka uložena v tabulce) a poté provede “selenium.open” způsob, jak načíst adresu URL z této tabulky a otevřít ji v prohlížeči Firefox.

Další část kódu zvyšuje ukazatel řádku a přečte další adresu URL v seznamu. Pokud buňka není prázdná, použije metodu SendKeys ke spuštění nové karty v prohlížeči Firefox, načte další adresu URL z tohoto prodeje a otevře adresu URL na této nové kartě..

intRowPosition = intRowPosition + 1 zatímco Sheet1.Range ("A" & intRowPosition) vbNullString selen.SendKeys keys.Control & "t" seleniumOpen Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = N

Skript bude procházet celým seznamem, dokud nebudou všechny adresy URL otevřené na jejich vlastních kartách. Zde je prohlížeč poté, co smyčka prošla podruhé a otevře MUO na nové kartě.

Pokud chcete tento kód použít pro Chrome, stačí změnit řádek “selenium.Start “Firefox”” na “chrom” místo toho.

Nyní vytvořte svůj vlastní skript

Jak jsem již zmínil výše, nejlepším způsobem, jak se naučit sílu Selenium Wrapper, je psát “selen” ve vašem kódu, zasáhnout období a jen procházet velmi dlouhý seznam dostupných vlastností a metod. Například můžete pomocí vlastnosti .URL získat adresu URL aktuálně otevřené karty v prohlížeči Firefox nebo Chrome.

Jak vidíte, existuje mnoho dalších věcí, které můžete udělat, které jdou nad rámec tohoto článku. Ale experimentujte a bavte se. Naštěstí většina funkcí zobrazí vyskakovací text nápovědy, který vám ukáže, jaké parametry každá funkce očekává. To může hodně pomoci, když přijde na to, jak ji používat.

Používáte automatizaci počítače pomocí VBA? Už jste někdy automatizovali relace vašeho prohlížeče od VBA? Sdílejte s ním své vlastní tipy a zkušenosti v sekci komentářů níže!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.