Slik automatiserer du Firefox eller Chrome med Excel VBA og Selen

Nøkkelen til automatisering gjør ting raskere og enklere enn du noensinne har gjort før. Så hvilken del av arbeidsbelastningen ønsker du å automatisere? La oss se hva vi kan gjøre!

Nøkkelen til automatisering gjør ting raskere og enklere enn du noensinne har gjort før.  Så hvilken del av arbeidsbelastningen ønsker du å automatisere?  La oss se hva vi kan gjøre!
Annonse

Nøkkelen til automatisering gjør ting raskere og enklere enn du noensinne har gjort før. Så hva tar du lang tid å gjøre? Hvilken del av arbeidsbelastningen vil du automatisere?

Når det gjelder produktivitet, er Excel det vanligste verktøyet som brukes av folk for ting som å organisere økonomi, administrere prosjekter 10+ Nyttige Excel-maler for prosjektledelse og sporing 10 + Nyttige Excel-maler for prosjektledelse og sporing Maler er å prosjektledere hvilke kniver er til profesjonelle kokker: uunnværlig. Vi viser deg hvordan du kan kopiere vellykkede prosjekter ved å bruke ferdige maler i Microsoft Excel og utover. Les mer og prioritere mål Bruk Excel og Google-oppgaver for å opprette det beste målstyringsverktøyet. Bruk evt. Excel og Google-oppgaver for å skape det beste målsettingsverktøyet. Litt senere har jeg begynt å innse at jeg jobber veldig hardt, men hvis noen spurte meg om jeg føler at jeg jobber mot et større formål, må jeg si at jeg egentlig ikke ... Les mer. I forrige uke beskrev jeg hvordan du automatiserer IE Bruke VBA til å automatisere Internet Explorer-økter fra et Excel-regneark ved hjelp av VBA for å automatisere Internet Explorer-økter fra et Excel-regneark. Integrasjonen med Windows tillater kontroll over Internet Explorer på en rekke overraskende måter ved hjelp av Visual Basic for Programmer (VBA) skript fra ethvert program som støtter det, for eksempel Word, Outlook eller Excel. Les Mer ved å konfigurere grupper av nettadresser i Excel-ark, og bruk deretter IE-objektet i Windows for å automatisere lansering av grupper av nettadresser rett fra innsiden av Excel.

Etter denne artikkelen spurte mange lesere hvordan man gjør det samme i Firefox eller Chrome. Siden verken Firefox eller Chrome har et lignende objekt som følger med Windows som kan brukes til VBA-automatisering, må det utføres et ekstra trinn for å utføre samme type handlinger på de andre nettleserne. Det trinnet er installasjonen av Selenium VBA - en Windows COM wrapper for Selen.

Det lar deg utføre samtaler fra ethvert program som støtter VBA for å åpne en nettleser - ikke bare IE - og kontrollere den nettleserøkten. Det er et kraftig automatiseringsverktøy som er så vanlig at mange populære nettleservirksomheter innlemmer Selen som en innfødt del av nettleseren sin. Å bruke det i automatiseringsprogrammene dine, er sikkert å bli støttet i årene som kommer.

Automatiserer Firefox og Chrome med Selen

Før du begynner med dette prosjektet, må du laste ned og installere Selenium VBA wrapper. Så, akkurat som jeg diskuterte i artikkelen om automatisering av IE Bruke VBA til å automatisere Internet Explorer-økter fra et Excel-regneark ved hjelp av VBA for å automatisere Internet Explorer-økter fra et Excel-regneark. Integrasjonen med Windows tillater kontroll over Internet Explorer på en rekke overraskende måter. Visual Basic for Applications (VBA) skript fra ethvert program som støtter det, for eksempel Word, Outlook eller Excel. Les mer, for å skrive noen VBA i Excel, må du gå inn i designmodus og se koden. Hvis du aldri har gjort dette før, må du bare gå inn i menyelementet "Utvikler", og klikk på Designmodus. Klikk på "Sett inn" -knappen, klikk på ActiveX-knappen og tegne den på arket ditt et sted. Når du har gjort det, klikker du på knappen og klikker deretter på "Vis kode".

selenium1

I koderedigeringsvinduet, nederst til venstre, må du sørge for å endre både "Navn" og "Caption" for å gjenspeile hva knappen er for. I dette tilfellet vil knappen være å åpne listen over nettadresser du har oppført i regnearket. I mitt tilfelle kalte jeg det bare cmdLoadURLs, og lagde bildeteksten "Last inn webadresser" (dette er hva som vises på knappen).

selenium1b

Deretter må du aktivere Selenium Wrapper ved å klikke på Verktøy-menyen, deretter klikke på "Referanser", og deretter bla ned til referansen kalt "SeleniumWrapper Type Library". Kontroller denne boksen, og klikk deretter OK.

selenium2

Du er nå klar til å begynne å skrive nettleserautomatiseringskoden ved hjelp av Selen Wrapper!

Funksjonaliteten til Selen Wrapper

Selenium VBA Wrapper gir deg mye mer funksjonalitet enn jeg kan vise deg i denne ene artikkelen. Du kan se hvor mye som er tilgjengelig utover bare WebDriver, ved å definere selen objektet som "New SeleniumWrapper". Når du skriver inn perioden, vil det falle ned alle elementene i typer objekter du kan kontrollere, som nettleservideoer, PDF-filer, tastaturnøkler og mer.

selenium3

Dette eksempelkoden bruker WebDriver. Når du bruker Selenium WebDriver-objektet i koden din og skriver inn perioden, vil det falle ned en veldig lang liste over metoder og egenskaper som du kan bruke til å automatisere nettleseren din.

selenium4

Det kan ta litt tid å lære alt som er tilgjengelig, men Google kan vise noen gode eksempler, bak prøvene som er tilgjengelige på Google Kodesiden. Dessverre, så vidt jeg vet, er det ingen enkel veiledning der ute for bruk av Selen, men jeg ville være takknemlig for noen lesere som kunne gi noen ressurser!

Skrive VBA-selekoden

I dette eksemplet, som i IE-artikkelen, har jeg opprettet en liste over nettadresser som jeg automatisk vil åpne i Firefox. Jeg opprettet så knappen som beskrevet i første del av denne artikkelen.

selenium5

Koden bak knappen er grei, men jeg skal forklare hva hver seksjon gjør. Først må du starte Firefox-applikasjonen. Metoden "selenium.start" vil gjøre det. SetTimeout og setImplicitWait-metodene er ikke kritiske, men kan forhindre at søknaden din låses for alltid hvis nettleseren ikke svarer av en eller annen grunn.

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

De siste par linjene angir radene i Excel-dataene (rad to, der den første nettadressen er lagret i regnearket), og deretter utfører metoden "selenium.open" for å lese nettadressen fra det regnearket, og åpne det i Firefox.

selenium7

Den neste delen av koden øker radpekeren og leser den neste nettadressen i listen. Hvis cellen ikke er tom, bruker den SendKeys-metoden til å starte en ny kategori i Firefox, leser den neste nettadressen fra den selgeren, og åpner nettadressen i den nye kategorien.

 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 = Ingenting 

Skriptet går gjennom hele listen til alle nettadressene er åpne i sine egne faner. Her er nettleseren etter at løkken gikk gjennom en gang og åpnet MUO i en ny kategori.

selenium8

Hvis du vil bruke denne koden for Chrome, er alt du trenger å gjøre, endre linjen "selenium.Start" firefox "" til "krom" i stedet.

Nå opprett ditt eget skript

Som jeg nevnte ovenfor, er den beste måten å lære kraften til Selen Wrapper å skrive "selen" i koden din, slå perioden og bare bla ned den svært lange listen over tilgjengelige egenskaper og metoder. For eksempel kan du bruke .URL-egenskapen til å oppnå nettadressen til den nåværende åpne kategorien i Firefox eller Chrome.

selenium9

Som du kan se, er det mange flere ting du kan gjøre som går langt utover omfanget av denne artikkelen. Men eksperimentere og ha det gøy. Heldigvis vil de fleste funksjonene popup-hjelpetekst som viser deg hvilke parametere hver funksjon forventer. Det kan hjelpe mye når det gjelder å finne ut hvordan du bruker det.

Bruker du VBA for å automatisere datamaskinen din? Har du noen gang automatisert nettlesersøktene dine fra VBA? Del dine egne tips og erfaringer med det i kommentarfeltet nedenfor!

In this article