Sådan automatiseres Firefox eller Chrome med Excel VBA og selen

  • Michael Fisher
  • 0
  • 3751
  • 96
Reklame

Nøglen til automatisering er at gøre tingene hurtigere og lettere, end du nogensinde har gjort før. Så hvad tager dig lang tid at gøre? Hvilken del af din arbejdsbyrde vil automatisere?

Når det kommer til produktivitet, er Excel det mest almindelige værktøj, der bruges af mennesker til ting som organisering af økonomi, styring af projekter 10 Kraftfulde Excel-projektstyringsskabeloner til sporing 10 Kraftfulde Excel-projektstyringsskabeloner til sporing Gratis projektstyringsskabeloner er de bedste. Hent disse nøgle Microsoft Excel-regnearkskabeloner til sporing af ethvert projekt. , og prioritering af mål Brug Excel- og Google-opgaver til at oprette det bedste målstyringsværktøj nogensinde Brug Excel og Google-opgaver til at oprette det bedste målstyringsværktøj nogensinde for nylig, jeg er begyndt at indse, at jeg arbejder meget hårdt, men hvis nogen spurgte mig, om jeg føler, at jeg arbejder mod et større formål, må jeg sige, at jeg virkelig ikke gør det. Sidste uge beskrev jeg, hvordan man automatiserer IE ved hjælp af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark Brug af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark Dets integration med Windows giver kontrol over Internet Explorer på en række overraskende måder ved hjælp af Visual Basic til Applications (VBA) script fra ethvert program, der understøtter det, såsom Word, Outlook eller Excel. ved at opsætte grupper af URL-adresser i Excel-ark og derefter bruge IE-objektet i Windows til at automatisere lanceringsgrupper af URL-adresser lige fra Excel.

Efter denne artikel spurgte mange læsere, hvordan man gør det samme i Firefox eller Chrome. Da hverken Firefox eller Chrome har et lignende objekt inkluderet i Windows, der kan bruges til VBA-automatisering, kræver det at udføre den samme slags handlinger på de andre browsere et ekstra trin. Dette trin er installationen af ​​Selenium VBA - et Windows COM-indpakning til Selenium.

Det giver dig mulighed for at udføre opkald fra ethvert program, der understøtter VBA for at åbne en browser - ikke kun IE - og styre browsersessionen. Det er et kraftfuldt automatiseringsværktøj, der er så almindeligt anvendt, at mange populære browserudbydere inkorporerer Selenium som en indfødt del af deres browser. Brug af det i dine automatiseringsapplikationer understøttes helt sikkert i de kommende år.

Automatisering af Firefox og Chrome med Selenium

Inden du kommer i gang med dette projekt, skal du downloade og installere Selenium VBA-indpakningen. Derefter, ligesom jeg diskuterede i artiklen om automatisering af IE Brug af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark Brug af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark Dets integration med Windows giver kontrol over Internet Explorer på en række overraskende måder ved hjælp af Visual Basic for Applications (VBA) script fra ethvert program, der understøtter det, såsom Word, Outlook eller Excel. , for at skrive en hvilken som helst VBA i Excel, skal du komme i designtilstand og se koden. Hvis du aldrig har gjort dette før, skal du bare gå ind på “Udvikler” menupunkt, og klik på Designtilstand. Klik på “Indsæt” , skal du klikke på ActiveX-knappen og tegne den på dit ark et eller andet sted. Når du har gjort det, skal du klikke på knappen og derefter klikke på “Se kode”.

I kodeeditorvinduet nederst til venstre skal du sørge for at ændre begge “Navn” og “Billedtekst” for at afspejle, hvad knappen er til. I dette tilfælde vil knappen være for at åbne listen over webadresser, som du har listet i regnearket. I mit tilfælde kaldte jeg det bare cmdLoadURLs og lavede billedtekst “Indlæs webadresser” (det er dette, der vises på knappen).

Dernæst skal du aktivere Selenium Wrapper ved at klikke på menuen Funktioner og derefter klikke på “Referencer”, og bla derefter ned til den kaldte reference “SeleniumWrapper Type Library”. Marker dette referencefelt, og klik derefter på OK.

Du er nu klar til at begynde at skrive browser-automatiseringskode ved hjælp af Selenium Wrapper!

Selenompakningens funktionalitet

Selenium VBA Wrapper giver dig meget mere funktionalitet, end jeg kan vise dig i denne ene artikel. Du kan se, hvor meget der er tilgængeligt ud over bare WebDriver, ved at definere Selenium-objektet som “Nyt SeleniumWrapper”. Når du skriver perioden, vil den slette alle elementerne i de typer objekter, du kan kontrollere, f.eks. Browserbilleder, PDF-filer, tastaturtaster med mere.

Dette eksempelkode bruger WebDriver. Når du har brugt Selenium WebDriver-objektet i din kode og indtastet perioden, slipper det en meget lang liste over metoder og egenskaber, som du kan bruge til at automatisere din webbrowser.

Det kan tage lidt tid at lære alt, hvad der er tilgængeligt, men Google kan vise nogle gode eksempler bag de eksempler, der er tilgængelige på siden Google Code. Desværre er der, så vidt jeg ved, ingen direkte guide derude til brug af Selenium, men jeg vil være taknemmelig for alle læsere, der kunne give ressourcer!

Skrivning af din VBA Selenium-kode

I dette eksempel, som i IE-artiklen, har jeg oprettet en liste over webadresser, som jeg automatisk vil åbne i Firefox. Derefter oprettede jeg knappen som beskrevet i den første del af denne artikel.

Koden bag knappen er let, men jeg vil forklare, hvad hver sektion gør. Først skal du starte Firefox-applikationen. Det “selenium.start” metoden vil gøre det. Metoderne setTimeout og setImplicitWait er ikke kritiske, men kan forhindre, at din applikation låses for evigt, hvis browseren ikke reagerer af en eller anden grund.

Dim selen Som nyt SeleniumWrapper.WebDriver Dim FF som objekt Dim intRowPosition Som heltal Dim taster Som New SeleniumWrapper.keys selen.Start "firefox", "http://www.google.com" selen.setTimeout ("120000") selen. setImplicitWait (5000) intRowPosition = 2 selen.Open Sheet1.Range ("A" & intRowPosition)

De sidste par linjer indstiller rækken med Excel-data til at læse (række to, hvor den første URL er gemt i regnearket) og udfører derefter “selenium.open” metode til at læse URL'en fra dette regneark og åbne den i Firefox.

Den næste kodesektion øger rækkeviseren og læser den næste URL på listen. Hvis cellen ikke er tom, bruger den derefter SendKeys-metoden til at starte en ny fane i Firefox, læser den næste URL fra det salg, og åbner URL'en i den nye fane.

intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) vbNullString selenium.SendKeys keys.Control & "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = Intet

Scriptet går gennem hele listen, indtil alle webadresser er åbne i deres egne faner. Her er browseren, efter at loopen gik gennem en anden gang og åbnede MUO i en ny fane.

Hvis du vil bruge denne kode til Chrome, skal du bare ændre linjen “selenium.Start “firefox”” til “krom” i stedet.

Opret nu dit eget script

Som jeg nævnte ovenfor, er den bedste måde at lære styrken af ​​Selenium Wrapper at skrive “selen” i din kode, skal du ramme perioden og bare gennemse den meget lange liste over tilgængelige egenskaber og metoder. For eksempel kan du bruge egenskaben .URL til at få URL'en til den aktuelt åbne fane i Firefox eller Chrome.

Som du kan se, er der mange flere ting, du kan gøre, der går langt ud over denne artikels rækkevidde. Men eksperimentér og have det sjovt. Heldigvis vises de fleste af funktionerne hjælpetekst, der viser, hvilke parametre hver funktion forventer. Det kan hjælpe meget, når det drejer sig om, hvordan man bruger det.

Bruger du VBA til at automatisere din computer? Har du nogensinde automatiseret dine browsersessioner fra VBA? Del dine egne tip og oplevelser med det i kommentarfeltet nedenfor!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.