Automatisieren von Firefox oder Chrome mit Excel VBA und Selen

Automatisieren von Firefox oder Chrome mit Excel VBA und Selen / Windows

Der Schlüssel zur Automatisierung besteht darin, Dinge schneller und einfacher zu erledigen als je zuvor. Also, wofür brauchen Sie lange Zeit? Welcher Teil Ihres Workloads möchte automatisiert werden??

Wenn es um Produktivität geht, ist Excel das am häufigsten verwendete Werkzeug für die Verwaltung von Finanzen und das Verwalten von Projekten. 10 Nützliche Excel-Projektverwaltungsvorlagen zum Nachverfolgen 10 Nützliche Excel-Projektverwaltungsvorlagen zum Nachverfolgen Projektverwaltungsvorlagen können Ihnen beim Replizieren erfolgreicher Projekte helfen. Hier sind die wichtigsten Microsoft Excel-Vorlagen für Sie. Weitere Informationen und Priorisierung von Zielen Verwenden von Excel- und Google-Aufgaben zum Erstellen des besten Zielverwaltungs-Tools überhaupt Verwenden Sie Excel- und Google-Aufgaben zum Erstellen des besten Ziele-Verwaltungstools Seit einiger Zeit ist mir klar, dass ich sehr hart arbeite, aber wenn Jemand fragte mich, ob ich das Gefühl habe, dass ich einen größeren Zweck anstrebe. Ich muss sagen, dass ich wirklich nicht… Read More. Letzte Woche habe ich beschrieben, wie Sie die Automatisierung von Internet Explorer-Sitzungen mithilfe eines VBA von einer Excel-Kalkulationstabelle aus automatisieren. Internet Explorer-Sitzungen von einer Excel-Kalkulationstabelle aus automatisieren. Die Integration mit Windows ermöglicht die Steuerung von Internet Explorer auf überraschende Weise mithilfe von Visual Basic für Anwendungsskript (VBA) von jeder Anwendung, die es unterstützt, wie z. B. Word, Outlook oder Excel. Lesen Sie mehr, indem Sie URL-Gruppen in Excel-Tabellen einrichten und anschließend das IE-Objekt in Windows verwenden, um das Starten von URL-Gruppen direkt aus Excel heraus zu automatisieren.

Nach diesem Artikel fragten viele Leser, wie sie in Firefox oder Chrome dasselbe tun sollen. Da weder bei Firefox noch bei Chrome ein ähnliches Objekt in Windows enthalten ist, das für die VBA-Automatisierung verwendet werden kann, ist für die Ausführung der gleichen Art von Aktionen für diese anderen Browser ein zusätzlicher Schritt erforderlich. Dieser Schritt ist die Installation von Selenium VBA - einem Windows COM-Wrapper für Selenium.

Sie können Anrufe von jeder Anwendung aus ausführen, die VBA unterstützt, um einen Browser - nicht nur den IE - zu öffnen und diese Browsersitzung zu steuern. Es ist ein leistungsfähiges Automatisierungswerkzeug, das so häufig verwendet wird, dass viele gängige Browseranbieter Selenium als nativen Bestandteil ihres Browsers verwenden. Die Verwendung in Automatisierungsanwendungen wird sicher über Jahre hinweg unterstützt.

Firefox und Chrome mit Selen automatisieren

Bevor Sie mit diesem Projekt beginnen, müssen Sie den Selenium VBA-Wrapper herunterladen und installieren. Dann, genau wie ich in dem Artikel über die Automatisierung von Internet Explorer-Sitzungen mit VBA aus einer Excel-Tabellenkalkulation mit Internet Explorer-Sitzungen aus einer Excel-Tabellenkalkulation erörtert habe. Die Integration mit Windows ermöglicht die Steuerung von Internet Explorer auf überraschende Weise VBA-Skript (Visual Basic für Applikationen) aus jeder Anwendung, die es unterstützt, wie z. B. Word, Outlook oder Excel. Weitere Informationen zum Schreiben von VBA in Excel müssen Sie in den Entwurfsmodus wechseln und den Code anzeigen. Wenn Sie das noch nie gemacht haben, müssen Sie nur noch in die “Entwickler” Menüpunkt und klicken Sie auf Design Mode. Klicke auf das “Einfügen” Klicken Sie auf die Schaltfläche ActiveX und zeichnen Sie sie irgendwo auf Ihr Blatt. Wenn Sie das getan haben, klicken Sie auf die Schaltfläche und dann auf “Code anzeigen”.

Vergewissern Sie sich im Code-Editor-Fenster unten links, dass Sie beide ändern “Name” und das “Bildbeschriftung” um zu zeigen, wozu die Schaltfläche dient. In diesem Fall öffnet die Schaltfläche die Liste der URLs, die Sie in der Tabelle angegeben haben. In meinem Fall habe ich es einfach cmdLoadURLs genannt und die Bildunterschrift gemacht “URLs laden” (das ist was auf der Schaltfläche erscheint).

Als Nächstes müssen Sie den Selenium Wrapper aktivieren, indem Sie auf das Menü Extras klicken und dann auf klicken “Verweise”, und dann zu der aufgerufenen Referenz blättern “SeleniumWrapper-Typbibliothek”. Aktivieren Sie das Referenzfeld und klicken Sie auf OK.

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

Funktionalität des Selen-Wrappers

Der Selenium VBA-Wrapper bietet Ihnen viel mehr Funktionen, als ich Ihnen in diesem Artikel zeigen kann. Sie können nur sehen, wie viel über den WebDriver hinaus verfügbar ist, indem Sie das Selenium-Objekt als definieren “Neuer SelenWrapper”. Wenn Sie den Zeitraum eingeben, werden alle Elemente der Objekttypen, die Sie steuern können, z. B. Browserbilder, PDF-Dateien, Tastaturtasten und mehr.

Dieser Beispielcode verwendet den WebDriver. Wenn Sie das Selenium WebDriver-Objekt in Ihrem Code verwenden und den Zeitraum eingeben, wird eine lange Liste von Methoden und Eigenschaften angezeigt, die Sie zum Automatisieren Ihres Webbrowsers verwenden können.

Es kann einige Zeit dauern, um alles zu erfahren, was verfügbar ist, aber Google kann einige gute Beispiele hinter den auf der Google-Codeseite verfügbaren Beispielen aufzeigen. Soweit ich weiß, gibt es leider keinen einfachen Leitfaden für die Verwendung von Selenium, aber ich wäre allen Lesern dankbar, die Ressourcen zur Verfügung stellen könnten!

Schreiben Ihres VBA-Selencodes

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.

Der Code hinter dem Button ist unkompliziert, aber ich werde erklären, was jeder Abschnitt macht. Zunächst müssen Sie die Firefox-Anwendung starten. Das “Selen.start” Methode wird das tun. 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 Selen As New SelenWrapper.WebDriver Dim FF As Object Dim IntRowPosition As Integer Dim-Tasten As New SeleniumWrapper.keys Selenium.Start "firefox", "http://www.google.com" Selen.setTimeout ("120000") Selen. setImplicitWait (5000) intRowPosition = 2 Selen.Open Sheet1.Range ("A" & intRowPosition) öffnen

Die letzten paar Zeilen legen die zu lesende Zeile der Excel-Daten fest (Zeile zwei, in der die erste URL in der Kalkulationstabelle gespeichert ist) und führt dann die “Selen.open” Methode, um die URL aus dieser Tabelle zu lesen und in Firefox zu öffnen.

Der nächste Codeabschnitt erhöht den Zeilenzeiger und liest die nächste URL in der Liste. Wenn die Zelle nicht leer ist, verwendet sie die SendKeys-Methode, um eine neue Registerkarte in Firefox zu starten, liest die nächste URL von diesem Verkauf und öffnet die URL in dieser neuen Registerkarte.

intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) <> vbNullString Selen.SendKeys keys.Control & "t" Selen.Open1 ("A" & intRowPosition) intRowPosition + 1 Wend Set = 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.

Wenn Sie diesen Code für Chrome verwenden möchten, müssen Sie nur die Zeile ändern “Selen.Start “Feuerfuchs”” zu “Chrom” stattdessen.

Erstellen Sie jetzt Ihr eigenes Skript

Wie ich oben erwähnt habe, ist der beste Weg, die Macht des Selenium-Wrappers zu erlernen, das Tippen “Selen” Klicken Sie in Ihrem Code auf den Punkt und blättern Sie einfach durch die sehr lange Liste der verfügbaren Eigenschaften und Methoden. Sie können beispielsweise die .URL-Eigenschaft verwenden, um die URL der aktuell geöffneten Registerkarte in Firefox oder Chrome abzurufen.

Wie Sie sehen, gibt es noch viele weitere Möglichkeiten, die den Rahmen dieses Artikels sprengen. Aber experimentieren und Spaß haben. Zum Glück zeigen die meisten Funktionen einen Hilfetext, der Ihnen zeigt, welche Parameter jede Funktion erwartet. Das kann sehr hilfreich sein, wenn Sie herausfinden möchten, wie es verwendet wird.

Verwenden Sie VBA zur Automatisierung Ihres Computers? Haben Sie jemals Ihre Browsersitzungen über VBA automatisiert? Teilen Sie Ihre eigenen Tipps und Erfahrungen damit in den Kommentaren unten!

Erfahren Sie mehr über: Google Chrome, Microsoft Excel, Mozilla Firefox, Visual Basic-Programmierung.