Hoe Firefox of Chrome te automatiseren met Excel VBA en Selenium

De sleutel tot automatisering is dingen sneller en gemakkelijker doen dan ooit tevoren. Dus welk deel van uw werklast wilt u graag automatiseren? Laten we eens kijken wat we kunnen doen!

De sleutel tot automatisering is dingen sneller en gemakkelijker doen dan ooit tevoren.  Dus welk deel van uw werklast wilt u graag automatiseren?  Laten we eens kijken wat we kunnen doen!
Advertentie

De sleutel tot automatisering is dingen sneller en gemakkelijker doen dan ooit tevoren. Dus wat kost je veel tijd om te doen? Welk deel van uw werklast zou u willen automatiseren?

Als het gaat om productiviteit, is Excel de meest gebruikte tool voor het organiseren van financiën, het beheren van projecten 10+ Nuttige Excel-sjablonen voor Project Management & Tracking 10+ Nuttige Excel-sjablonen voor Project Management & Tracking-sjablonen zijn voor projectmanagers wat messen zijn voor professionele koks: onmisbaar. We laten u zien hoe u succesvolle projecten kunt repliceren door kant-en-klare sjablonen te gebruiken in Microsoft Excel en verder. Meer lezen en prioriteiten stellen Gebruik Excel & Google-taken om de beste doelen managementtool te maken Ever Excel & Google Tasks gebruiken om de beste doelen Management Tool te maken De laatste tijd begin ik te beseffen dat ik heel hard werk, maar als iemand vroeg me of ik voel dat ik aan een groter doel werk, ik zou moeten zeggen dat ik echt niet ... Lees meer. Vorige week beschreef ik hoe IE te automatiseren VBA gebruiken om sessies van Internet Explorer te automatiseren vanuit een Excel-spreadsheet VBA gebruiken om sessies van Internet Explorer te automatiseren vanuit een Excel-spreadsheet Door de integratie met Windows kan Internet Explorer op een aantal verrassende manieren worden beheerd met Visual Basic voor Toepassingen (VBA) script vanuit elke toepassing die dit ondersteunt, zoals Word, Outlook of Excel. Meer lezen door groepen URL's in Excel-bladen in te stellen en vervolgens het IE-object in Windows te gebruiken om startende groepen met URL's rechtstreeks vanuit Excel te automatiseren.

Naar aanleiding van dat artikel vroegen veel lezers hoe ze hetzelfde konden doen in Firefox of Chrome. Omdat noch Firefox noch Chrome een soortgelijk object bij Windows hebben dat voor VBA-automatisering kan worden gebruikt, vereist het uitvoeren van dezelfde soort acties in die andere browsers een extra stap. Die stap is de installatie van Selenium VBA - een Windows COM-wrapper voor Selenium.

Hiermee kunt u oproepen uitvoeren vanuit elke toepassing die VBA ondersteunt om een ​​browser te openen (niet alleen IE) en die browsersessie te besturen. Het is een krachtige automatiseringstool die zo vaak wordt gebruikt dat veel populaire browserleveranciers Selenium opnemen als een native onderdeel van hun browser. Het gebruik ervan in uw automatiseringstoepassingen wordt zeker nog jarenlang ondersteund.

Automatiseren van Firefox en Chrome met Selenium

Voordat u aan de slag gaat met dit project, moet u de Selenium VBA-wrapper downloaden en installeren. Vervolgens, precies zoals ik in het artikel over het automatiseren van IE heb besproken VBA gebruiken om sessies van Internet Explorer te automatiseren vanuit een Excel-spreadsheet VBA gebruiken om sessies van Internet Explorer te automatiseren vanuit een Excel-spreadsheet Dankzij de integratie met Windows kan Internet Explorer op een aantal verrassende manieren worden bestuurd Visual Basic for Applications (VBA) -script van elke toepassing die dit ondersteunt, zoals Word, Outlook of Excel. Lees Meer, om een ​​VBA in Excel te schrijven, moet je in de ontwerpmodus komen en de code bekijken. Als u dit nog nooit eerder hebt gedaan, hoeft u alleen maar naar het menu-item "Ontwikkelaar" te gaan en op Ontwerpmodus te klikken. Klik op de knop "Invoegen", klik op de knop ActiveX en teken deze ergens op uw blad. Als je dat hebt gedaan, klik je op de knop en vervolgens op "Bekijk code".

selenium1

Zorg ervoor dat in het venster van de code-editor linksonder de naam en het bijschrift worden gewijzigd om aan te geven waarvoor de knop is bedoeld. In dit geval is de knop om de lijst met URL's te openen die u in het werkblad hebt vermeld. In mijn geval heb ik het gewoon cmdLoadURL's genoemd en het bijschrift "URL's laden" gemaakt (dit is wat op de knop wordt weergegeven).

selenium1b

Vervolgens moet u de Selenium Wrapper inschakelen door op het menu Tools te klikken, vervolgens op 'References' te klikken en vervolgens naar de referentie 'SeleniumWrapper Type Library' te bladeren. Vink het vakje aan en klik vervolgens op OK.

selenium2

U bent nu klaar om te beginnen met het schrijven van de automatisering van de browser met behulp van de Selenium Wrapper!

Functionaliteit van de Selenium Wrapper

De Selenium VBA Wrapper geeft je veel meer functionaliteit dan ik je in dit ene artikel kan laten zien. U kunt zien hoeveel er beschikbaar is buiten de WebDriver, door het Selenium-object te definiëren als "Nieuwe SeleniumWrapper". Wanneer u de punt typt, worden alle elementen van de soorten objecten die u kunt bedienen neergezet, zoals browserafbeeldingen, PDF-bestanden, toetsenbordtoetsen en meer.

selenium3

Deze voorbeeldcode gebruikt de WebDriver. Zodra u het Selenium WebDriver-object in uw code gebruikt en de periode typt, wordt er een hele lange lijst met methoden en eigenschappen weergegeven die u kunt gebruiken om uw webbrowser te automatiseren.

selenium4

Het kan enige tijd duren om alles te weten te komen wat beschikbaar is, maar Google kan een aantal goede voorbeelden weergeven, achter de voorbeelden die beschikbaar zijn op de Google Code-pagina. Helaas, voor zover ik weet, is er geen eenduidige gids voor het gebruik van Selenium, maar ik zou dankbaar zijn voor alle lezers die middelen zouden kunnen bieden!

Uw Vela-seleniumcode schrijven

In dit voorbeeld, zoals in het IE-artikel, heb ik een lijst met URL's gemaakt die ik automatisch in Firefox wil openen. Ik maakte toen de knop zoals beschreven in het eerste deel van dit artikel.

selenium5

De code achter de knop is duidelijk, maar ik ga uitleggen wat elke sectie doet. Allereerst moet u de Firefox-applicatie starten. De "selenium.start" -methode zal dat doen. De methoden setTimeout en setImplicitWait zijn niet kritisch, maar kunnen voorkomen dat uw toepassing voor altijd wordt geblokkeerd als de browser om een ​​of andere reden niet reageert.

 Dim selenium als nieuw SeleniumWrapper.WebDriver Dim FF als object Dim intRowPosition als integer Dim-toetsen als nieuw SeleniumWrapper.keys selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") selenium. setImplicitWait (5000) intRowPosition = 2 selenium.Open Sheet1.Range ("A" & intRowPosition) 

De laatste paar regels stellen de rij met Excel-gegevens in om te lezen (rij twee, waar de eerste URL in de spreadsheet is opgeslagen) en voert vervolgens de methode "selenium.open" uit om de URL van die spreadsheet te lezen en deze te openen in Firefox.

selenium7

Het volgende deel van de code verhoogt de rijaanwijzer en leest de volgende URL in de lijst. Als de cel niet leeg is, gebruikt deze de SendKeys-methode om een ​​nieuw tabblad in Firefox te openen, leest de volgende URL van die verkoop en opent de URL in dat nieuwe tabblad.

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

Het script doorloopt uw ​​volledige lijst totdat alle URL's open zijn op hun eigen tabbladen. Hier is de browser nadat de lus een tweede keer is doorgekomen en MUO op een nieuw tabblad heeft geopend.

selenium8

Als u deze code voor Chrome wilt gebruiken, hoeft u alleen de regel 'selenium.Start' firefox '' in 'chrome' te wijzigen.

Maak nu je eigen script

Zoals ik hierboven al zei, is de beste manier om de kracht van de Selenium Wrapper te leren, het typen van "selenium" in je code, klik op de punt en blader door de zeer lange lijst met beschikbare eigenschappen en methoden. U kunt bijvoorbeeld de eigenschap .URL gebruiken om de URL van het momenteel geopende tabblad in Firefox of Chrome te verkrijgen.

selenium9

Zoals je kunt zien, zijn er veel meer dingen die je kunt doen die veel verder gaan dan het bereik van dit artikel. Maar experimenteer en heb plezier. Gelukkig zullen de meeste functies help-tekst tonen die laat zien welke parameters elke functie verwacht. Dat kan veel helpen bij het uitzoeken hoe het te gebruiken.

Gebruikt u VBA om uw computer te automatiseren? Heb je je browsersessies ooit van VBA geautomatiseerd? Deel uw eigen tips en ervaringen ermee in de opmerkingen hieronder!

In this article