Wie Firefox oder Chrome mit Excel VBA und Selen zu automatisieren

Der Schlüssel zur Automatisierung ist, Dinge schneller und einfacher zu erledigen als je zuvor. Welchen Teil Ihrer Arbeitslast möchten Sie automatisieren? Mal sehen was wir machen können!

Der Schlüssel zur Automatisierung ist, Dinge schneller und einfacher zu erledigen als je zuvor.  Welchen Teil Ihrer Arbeitslast möchten Sie automatisieren?  Mal sehen was wir machen können!
Werbung

Der Schlüssel zur Automatisierung ist, Dinge schneller und einfacher zu erledigen als je zuvor. Was braucht man also lange? Welchen Teil Ihrer Arbeitslast möchten Sie automatisieren?

Wenn es um Produktivität geht, ist Excel das am häufigsten verwendete Werkzeug für Leute wie Finanzen organisieren, Projekte verwalten 10+ Nützliche Excel-Vorlagen für Projektmanagement & Tracking 10+ Nützliche Excel-Vorlagen für Projektmanagement & Tracking Vorlagen sind für Projektleiter, was Messer sind für Profiköche unverzichtbar. Wir zeigen Ihnen, wie Sie erfolgreiche Projekte mit vorgefertigten Vorlagen in Microsoft Excel und darüber hinaus replizieren können. Lesen Sie mehr, und Ziele priorisieren Verwenden Sie Excel & Google Aufgaben, um das beste Ziel-Management-Tool aller Zeiten zu erstellen Verwenden Sie Excel & Google Aufgaben, um das beste Ziel-Management-Tool zu erstellen Ich habe in letzter Zeit erkannt, dass ich sehr hart arbeite, aber wenn Jemand fragte mich, ob ich fühle, dass ich auf einen größeren Zweck hinarbeite, ich muss sagen, dass ich wirklich nicht ... Read More. Letzte Woche habe ich beschrieben, wie man Internet Explorer-Sitzungen automatisieren kann, indem man VBA verwendet, um Internet Explorer-Sitzungen von einer Excel-Tabelle zu automatisieren, die Internet Explorer-Sitzungen von einer Excel-Tabelle automatisiert Die Integration mit Windows ermöglicht die Kontrolle von Internet Explorer in einer Reihe von überraschenden Möglichkeiten mit Visual Basic für Anwendungsscript (VBA) von jeder Anwendung, die es unterstützt, z. B. Word, Outlook oder Excel. Lesen Sie mehr, indem Sie Gruppen von URLs in Excel-Arbeitsblättern einrichten und anschließend das IE-Objekt in Windows verwenden, um Gruppen von URLs automatisch aus Excel heraus zu starten.

Nach diesem Artikel fragten viele Leser, wie man in Firefox oder Chrome das Gleiche macht. Da weder Firefox noch Chrome ein ähnliches Objekt in Windows enthalten, das für die VBA-Automatisierung verwendet werden kann, erfordert die Durchführung der gleichen Aktionen in diesen anderen Browsern einen zusätzlichen Schritt. Dieser Schritt ist die Installation von Selenium VBA - einem Windows COM-Wrapper für Selenium.

Sie können Anrufe von jeder Anwendung, die VBA unterstützt, ausführen, um einen Browser - nicht nur IE - zu öffnen und diese Browsersitzung zu steuern. Es ist ein mächtiges Automatisierungswerkzeug, das so häufig verwendet wird, dass viele populäre Browser-Anbieter Selenium als nativen Teil ihres Browsers integrieren. Die Verwendung in Ihren Automatisierungsanwendungen wird sicher noch viele Jahre lang unterstützt werden.

Firefox und Chrome mit Selenium 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 IE mit VBA zu automatisieren Internet Explorer-Sitzungen aus einer Excel-Tabelle mit VBA zum Automatisieren von Internet Explorer-Sitzungen aus einer Excel-Tabelle diskutiert Die Integration mit Windows ermöglicht die Steuerung von Internet Explorer auf eine Reihe von überraschenden Möglichkeiten Visual Basic für Applikationen (VBA) Skript von jeder Anwendung, die es unterstützt, wie Word, Outlook oder Excel. Lesen Sie mehr, um jede VBA in Excel zu schreiben, müssen Sie in den Entwurfsmodus gelangen und den Code anzeigen. Wenn Sie dies noch nie gemacht haben, müssen Sie nur auf den Menüpunkt "Entwickler" klicken und auf Designmodus klicken. Klicken Sie auf den "Einfügen" -Button, klicken Sie auf den ActiveX-Button und zeichnen Sie ihn irgendwo auf Ihr Blatt. Sobald Sie dies getan haben, klicken Sie 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 anzuzeigen, wofür die Schaltfläche dient. In diesem Fall öffnet die Schaltfläche die Liste der URLs, die Sie in der Tabelle aufgelistet haben. In meinem Fall habe ich es einfach cmdLoadURLs genannt und die Beschriftung "Load URLs" gemacht (so sieht es auf der Schaltfläche aus).

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 "SeleniumWrapper Type Library" navigieren. Aktivieren Sie das Referenzfeld und klicken Sie dann auf OK.

Selen2

Jetzt können Sie mit dem Selenium Wrapper den Code für die Browserautomatisierung schreiben!

Funktionalität des Selenum Wrappers

Der Selenium VBA Wrapper bietet Ihnen viel mehr Funktionalität, als ich Ihnen in diesem einen 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 aufgelistet, die Sie steuern können, z. B. Browserbilder, PDF-Dateien, Tastaturtasten und mehr.

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 mit Methoden und Eigenschaften angezeigt, mit denen Sie Ihren Webbrowser automatisieren können.

Selen4

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

Schreiben Sie Ihren VBA Selen Code

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

Selen5

Der Code hinter der Schaltfläche ist einfach, aber ich werde erklären, was jede Sektion macht. Zunächst müssen Sie die Firefox-Anwendung starten. Die "selen.start" -Methode wird dies tun. Die Methoden setTimeout und setImplicitWait sind nicht kritisch, können jedoch verhindern, dass Ihre Anwendung für immer gesperrt wird, wenn der Browser aus irgendeinem Grund nicht reagiert.

 Dim Selen als Neu SeleniumWrapper.WebDriver Dim FF als Objekt Dim intRowPosition als Integer Dim-Tasten als neue SeleniumWrapper.keys selen.Start "firefox", "http://www.google.com" Selenium.setTimeout ("120000") Selen. setImplicitWait (5000) intRowPosition = 2 selen.Open Sheet1.Range ("A" & intRowPosition) 

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

Selen7

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 einen neuen Tab in Firefox zu starten, liest die nächste URL aus diesem Verkauf und öffnet die URL in diesem neuen Tab.

 intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) vbNullString selen.SendTasten keys.Control & "t" selen.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = Nothing 

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

Selen8

Wenn Sie diesen Code für Chrome verwenden möchten, müssen Sie nur die Zeile "selen.Start" firefox "" in "chrome" ändern.

Erstellen Sie jetzt Ihr eigenes Skript

Wie ich oben erwähnt habe, ist der beste Weg, die Kraft des Selenium Wrappers zu erlernen, "Selen" in deinen Code einzugeben, den Zeitraum zu treffen und einfach die sehr lange Liste der verfügbaren Eigenschaften und Methoden zu durchsuchen. Mit der Eigenschaft .URL können Sie beispielsweise die URL der aktuell geöffneten Registerkarte in Firefox oder Chrome abrufen.

Selen9

Wie Sie sehen können, gibt es viel mehr Dinge, die Sie tun können, die den Rahmen dieses Artikels sprengen. Aber experimentiere und hab Spaß. Zum Glück werden die meisten Funktionen Popup-Hilfetext, der Ihnen zeigt, welche Parameter jede Funktion erwartet. Das kann sehr hilfreich sein, wenn es darum geht, herauszufinden, wie man es benutzt.

Verwenden Sie VBA, um Ihren Computer zu automatisieren? Haben Sie Ihre Browsersitzungen jemals von VBA aus automatisiert? Teilen Sie Ihre eigenen Tipps und Erfahrungen damit in den Kommentaren unten!

In this article