Werbung

Der Schlüssel zur Automatisierung liegt darin, Dinge schneller und einfacher zu erledigen als jemals zuvor. Was dauert also lange? Welcher Teil Ihrer Arbeitslast möchte automatisiert werden?

Wenn es um Produktivität geht, ist Excel das am häufigsten verwendete Tool für die Organisation von Finanzen. Projekte verwalten, und Ziele priorisieren. Letzte Woche habe ich beschrieben, wie es geht IE automatisieren indem Sie Gruppen von URLs in Excel-Tabellen einrichten und dann das IE-Objekt in Windows verwenden, um das Starten von Gruppen von URLs direkt aus Excel heraus zu automatisieren.

Nach diesem Artikel fragten viele Leser, wie man dasselbe in Firefox oder Chrome macht. Da weder Firefox noch Chrome ein ähnliches Objekt in Windows enthalten haben, das für die VBA-Automatisierung verwendet werden kann, erfordert das Ausführen derselben Art von Aktionen in diesen anderen Browsern einen zusätzlichen Schritt. Dieser Schritt ist die Installation von Selen VBA - ein Windows COM-Wrapper für Selen.

instagram viewer

Sie können Anrufe von jeder Anwendung aus ausführen, die VBA unterstützt, um einen Browser zu öffnen - nicht nur den IE - und diese Browsersitzung zu steuern. Es ist ein leistungsstarkes Automatisierungstool, das so häufig verwendet wird, dass viele beliebte Browserhersteller Selenium als nativen Bestandteil ihres Browsers integrieren. Die Verwendung in Ihren Automatisierungsanwendungen wird sicherlich über Jahre hinweg unterstützt.

Automatisierung von Firefox und Chrome mit Selen

Bevor Sie mit diesem Projekt beginnen können, müssen Sie den Selenium VBA-Wrapper herunterladen und installieren. Dann, genau wie ich es im Artikel über besprochen habe IE automatisierenUm eine VBA in Excel zu schreiben, müssen Sie in den Entwurfsmodus wechseln und den Code anzeigen. Wenn Sie dies noch nie zuvor getan haben, müssen Sie nur in den Menüpunkt "Entwickler" gehen und auf "Entwurfsmodus" klicken. Klicken Sie auf die Schaltfläche "Einfügen", klicken Sie auf die Schaltfläche "ActiveX" und zeichnen Sie sie irgendwo auf Ihr Blatt. Klicken Sie anschließend auf die Schaltfläche und dann auf "Code anzeigen".

Selen1

Stellen Sie im Code-Editor-Fenster unten links sicher, dass Sie sowohl den "Namen" als auch die "Beschriftung" ändern, um den Zweck der Schaltfläche wiederzugeben. In diesem Fall wird mit der Schaltfläche die Liste der URLs geöffnet, die Sie in der Tabelle aufgeführt haben. In meinem Fall habe ich es einfach cmdLoadURLs genannt und die Überschrift "URLs laden" erstellt (dies wird auf der Schaltfläche angezeigt).

Selen1b

Als nächstes müssen Sie den Selenium Wrapper aktivieren, indem Sie auf das Menü Extras klicken, dann auf "Referenzen" klicken und dann zu der Referenz mit dem Namen "SeleniumWrapper Type Library" navigieren. Aktivieren Sie dieses Referenzfeld und klicken Sie auf OK.

Selen2

Jetzt können Sie mit dem Selenium Wrapper mit dem Schreiben von Browser-Automatisierungscode beginnen!

Funktionalität des Selenwicklers

Der Selenium VBA Wrapper bietet Ihnen viel mehr Funktionen, als ich Ihnen in diesem Artikel zeigen kann. Sie können sehen, wie viel über den WebDriver hinaus verfügbar ist, indem Sie das Selenium-Objekt als "New SeleniumWrapper" definieren. Wenn Sie den Punkt eingeben, werden alle Elemente der Objekttypen, die Sie steuern können, wie Browserbilder, PDF-Dateien, Tastaturtasten und mehr, abgelegt.

Selen3

Dieser Beispielcode verwendet den WebDriver. Sobald Sie das Selenium WebDriver-Objekt in Ihrem Code verwenden und den Punkt eingeben, wird eine sehr lange Liste von Methoden und Eigenschaften angezeigt, mit denen Sie Ihren Webbrowser automatisieren können.

Selen4

Es kann einige Zeit dauern, bis Sie alle verfügbaren Informationen kennengelernt haben. Google kann jedoch einige gute Beispiele für die auf der Website verfügbaren Beispiele finden Google Codepage. Leider gibt es meines Wissens keinen einfachen Leitfaden für die Verwendung von Selen, aber ich wäre allen Lesern dankbar, die Ressourcen bereitstellen könnten!

Schreiben Ihres VBA-Selen-Codes

In diesem Beispiel habe ich wie im IE-Artikel eine Liste von URLs erstellt, die ich automatisch in Firefox öffnen möchte. Ich habe dann die Schaltfläche wie im ersten Teil dieses Artikels beschrieben erstellt.

Selen5

Der Code hinter der Schaltfläche ist unkompliziert, aber ich werde erklären, was jeder Abschnitt tut. Zunächst müssen Sie die Firefox-Anwendung starten. Die Methode „selenium.start“ erledigt dies. Die Methoden setTimeout und setImplicitWait sind nicht kritisch, können jedoch verhindern, dass Ihre Anwendung für immer blockiert, wenn der Browser aus irgendeinem Grund nicht reagiert.

Dim Selenium As New SeleniumWrapper. WebDriver. FF als Objekt dimmen. IntRowPosition als Ganzzahl dimmen. Schlüssel dimmen Wie neu SeleniumWrapper.keys Selen. Starten Sie "Firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. Selen. Öffnen Sie Sheet1.Range ("A" & intRowPosition)

In den letzten Zeilen wird die zu lesende Zeile der Excel-Daten festgelegt (Zeile zwei, in der die erste URL im gespeichert ist Tabellenkalkulation) und führt dann die Methode „selenium.open“ aus, um die URL aus dieser Tabelle zu lesen und in zu öffnen Feuerfuchs.

Selen7

Der nächste Codeabschnitt erhöht den Zeilenzeiger und liest die nächste URL in der Liste. Wenn die Zelle nicht leer ist, wird mithilfe der SendKeys-Methode eine neue Registerkarte in Firefox gestartet, die nächste URL aus diesem Verkauf gelesen und die URL in dieser neuen Registerkarte geöffnet.

intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) <> vbNullString-Selen. SendKeys-Schlüssel. Kontrolle & "t" Selen. Öffnen Sie Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Nichts

Das Skript durchläuft Ihre gesamte Liste, bis alle URLs in ihren eigenen Registerkarten geöffnet sind. Hier ist der Browser, nachdem die Schleife ein zweites Mal durchlaufen und MUO in einem neuen Tab geöffnet hat.

Selen8

Wenn Sie diesen Code für Chrome verwenden möchten, müssen Sie lediglich die Zeile „Selen“ ändern. Starten Sie stattdessen "Firefox" auf "Chrome".

Erstellen Sie jetzt Ihr eigenes Skript

Wie oben erwähnt, ist der beste Weg, die Leistung des Selen-Wrappers zu erlernen, die Eingabe von „Selen“. Drücken Sie in Ihrem Code den Punkt und durchsuchen Sie einfach die sehr lange Liste der verfügbaren Eigenschaften und Methoden. Beispielsweise können Sie die Eigenschaft .URL verwenden, um die URL der aktuell geöffneten Registerkarte in Firefox oder Chrome abzurufen.

Selen9

Wie Sie sehen, können Sie noch viele weitere Dinge tun, die weit über den Rahmen dieses Artikels hinausgehen. Aber experimentiere und hab Spaß. Zum Glück wird bei den meisten Funktionen ein Hilfetext angezeigt, der Ihnen zeigt, welche Parameter jede Funktion erwartet. Das kann sehr hilfreich sein, wenn es darum geht, herauszufinden, wie man es benutzt.

Wie wäre es mit Ihrem nächsten Skriptprojekt? Erstellen Sie Ihre eigene einfache App mit VBA Wie Sie mit VBA Ihre eigene einfache App erstellen könnenMöchten Sie wissen, wie Sie Ihre eigene VBA-Anwendung erstellen, um Probleme zu lösen? Verwenden Sie diese Tipps, um Ihre eigene VBA-Software zu erstellen. Weiterlesen ?

Ryan hat einen BSc-Abschluss in Elektrotechnik. Er hat 13 Jahre in der Automatisierungstechnik, 5 Jahre in der IT gearbeitet und ist jetzt Apps Engineer. Als ehemaliger Managing Editor von MakeUseOf sprach er auf nationalen Konferenzen zur Datenvisualisierung und wurde im nationalen Fernsehen und Radio vorgestellt.