Sådan automatiserer du Firefox eller Chrome med Excel VBA og Selen

Nøglen til automatisering gør ting hurtigere og lettere end du nogensinde har gjort før. Så hvilken del af din arbejdsbyrde vil du gerne automatisere? Lad os se, hvad vi kan gøre!

Nøglen til automatisering gør ting hurtigere og lettere end du nogensinde har gjort før.  Så hvilken del af din arbejdsbyrde vil du gerne automatisere?  Lad os se, hvad vi kan gøre!
Reklame

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

Når det kommer til produktivitet, er Excel det mest almindelige værktøj, der bruges af mennesker til ting som at organisere økonomi, styre projekter 10+ Nyttige Excel-skabeloner til projektstyring og sporing 10+ Nyttige Excel-skabeloner til projektstyring og sporing Skabeloner er at projektledere hvilke knive er til professionelle kokke: uundværlig. Vi viser dig, hvordan du kan replikere succesfulde projekter ved at bruge færdige skabeloner i Microsoft Excel og videre. Læs mere og prioritere mål Brug Excel og Google Opgaver til at oprette det bedste mål Management Tool nogensinde Brug Excel og Google Opgaver til at skabe det bedste mål Management Tool Ever Sidst, 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 ... Læs mere. I sidste uge beskrev jeg, hvordan man automatiserer IE Brug af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark ved hjælp af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark. Dens integration med Windows tillader styring af 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, f.eks. Word, Outlook eller Excel. Læs mere ved at konfigurere grupper af webadresser i Excel-ark og derefter bruge IE-objektet i Windows til at automatisere lancering af grupper af webadresser lige fra inde i 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, der er inkluderet i Windows, der kan bruges til VBA-automatisering, kræver det samme ekstraordinære handlinger på de andre browsere. Dette trin er installationen af ​​Selen VBA - en Windows COM wrapper til Selen.

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 kontrollere denne browsersession. Det er et kraftfuldt automatiseringsværktøj, der er så almindeligt anvendt, at mange populære browser-leverandører indbygger Selen som en indbygget del af deres browser. Brug af det i dine automationsapplikationer er sikker på at blive understøttet i de kommende år.

Automatisering af Firefox og Chrome med Selen

Før du kommer i gang med dette projekt, skal du downloade og installere Selenium VBA wrapper. Så som jeg diskuterede i artiklen om automatisering af IE Brug af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark ved hjælp af VBA til at automatisere Internet Explorer-sessioner fra et Excel-regneark. Dens integration med Windows tillader styring af 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, f.eks. Word, Outlook eller Excel. Læs mere, for at skrive VBA i Excel, skal du komme ind i designtilstand og se koden. Hvis du aldrig har gjort det før, skal du bare gå ind i menupunktet "Udvikler" og klikke på Design Mode. Klik på knappen "Indsæt", klik på ActiveX-knappen og træk det på dit ark et eller andet sted. Når du har gjort det, skal du klikke på knappen og derefter klikke på "Vis kode".

selenium1

Sørg for at ændre både "Navn" og "Caption" i kodeditorvinduet nederst til venstre for at afspejle, hvad knappen er til. I dette tilfælde vil knappen være at åbne listen over webadresser, du har angivet i regnearket. I mit tilfælde kaldte jeg bare det cmdLoadURLs, og lavede billedteksten "Load URLs" (dette er hvad der vises på knappen).

selenium1b

Dernæst skal du aktivere Selenium Wrapper ved at klikke på menuen Funktioner, derefter klikke på "Referencer", og derefter browse ned til referencen kaldet "SeleniumWrapper Type Library". Kontroller det referencerække og klik derefter på OK.

selenium2

Du er nu klar til at begynde at skrive browserautomatiseringskoden ved hjælp af Selen Wrapper!

Funktionaliteten af ​​Selen Wrapper

Selen 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 Selen-objektet som "New SeleniumWrapper". Når du skriver ind perioden, vil den falde ned alle elementerne i de typer objekter, du kan styre, f.eks. Browserbilleder, PDF-filer, tastaturnøgler og meget mere.

selenium3

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

selenium4

Det kan tage lidt tid at lære alt, hvad der er tilgængeligt, men Google kan vise nogle gode eksempler bag de tilgængelige prøver på Google Code-siden. Desværre, så vidt jeg ved, er der ingen enkel vejledning derude til brug af Selen, men jeg ville være taknemmelig for nogen læsere, der kunne levere ressourcer!

Skrivning af din VBA Selenekode

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

selenium5

Koden bag knappen er ligetil, men jeg vil forklare, hvad hver sektion gør. Først skal du starte Firefox-applikationen. Metoden "selenium.start" vil gøre det. SetTimeout og setImplicitWait metoderne er ikke kritiske, men kan forhindre din applikation i at låse op for evigt, hvis browseren ikke reagerer af en eller anden grund.

 Dim selen Som New SeleniumWrapper.WebDriver Dim FF Som Objekt Dim IntRowPosition Som Integer Dim-taster Som New SeleniumWrapper.keys Selen.Start "Firefox", "http://www.google.com" selenium.setTimeout ("120000") selen. setImplicitWait (5000) intRowPosition = 2 selen.Open Sheet1.Range ("A" & intRowPosition) 

De sidste par linjer sætter rækken af ​​Excel-data til at læses (række to, hvor den første URL er gemt i regnearket), og udfører derefter metoden "selenium.open" for at læse webadressen fra det pågældende regneark og åbne det i Firefox.

selenium7

Den næste sektion af kode øger rækkepegeren og læser den næste webadresse 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 webadresse fra den sælger og åbner URL'en i den nye fane.

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

Scriptet løber gennem hele din liste, indtil alle webadresser er åbne i deres egne faner. Her er browseren, efter at løkken gik gennem en anden gang og åbnede MUO i en ny fane.

selenium8

Hvis du vil bruge denne kode til Chrome, er alt du skal gøre, at ændre linjen "selenium.Start" firefox "" til "chrome" i stedet.

Opret nu dit eget script

Som jeg nævnte ovenfor, er den bedste måde at lære kraften på Selen Wrapper at skrive "selen" i din kode, ramte perioden og bare gennemse den meget lange liste over tilgængelige egenskaber og metoder. For eksempel kan du bruge .URL-ejendommen til at hente URL'en for den aktuelt åbne fane i Firefox eller Chrome.

selenium9

Som du kan se, er der mange flere ting, du kan gøre, der går langt ud over denne artikels anvendelsesområde. Men eksperimentere og have det sjovt. Heldigvis vil de fleste funktioner få pop-up-hjælpetekst, der viser, hvilke parametre hver funktion forventer. Det kan hjælpe en hel del, når det kommer til at finde ud af, hvordan man bruger det.

Bruger du VBA til at automatisere din computer? Har du nogensinde automatiseret dine browser sessioner fra VBA? Del dine egne tips og erfaringer med det i kommentarfeltet nedenfor!

In this article