Selenium VBA Excel-Tutorial (Chrome Web Scraping)ping)

โšก Intelligente Zusammenfassung

Selenium VBA in Excel automatisiert Google Chrome um Daten von HTML-Webseiten zu extrahieren, mithilfe der Selenium Methoden der Typbibliothek und des WebDrivers zum ร–ffnen einer Website, zum Auffinden von Tabellenelementen anhand von Klasse und Tag und zum Schreiben der Ergebnisse in Tabellenzellen.

  • ๐Ÿงฐ Selenium WebDriver: VBA verwendet die Selenium Typbibliothek zum Steuern Google Chrome fรผr Schrottping.
  • ๐Ÿ“š Typenbibliothek: Das Selenium Die Typbibliothek muss referenziert werden, bevor WebDriver-Objekte deklariert werden kรถnnen.
  • ๐Ÿš€ Starten und erhalten: Die Start-Methode รถffnet Chrome, und die Get-Methode lรคdt die Zielwebsite. URL.
  • ๐Ÿ”Ž Element-Locators: FindElementByClass und FindElementsByTag lokalisieren die Tabellenรผberschrift und die Datenzellen.
  • ๐Ÿ“Š In Zellen schreiben: Eine verschachtelte For Each-Schleife schreibt Kopfzeilen- und Zeilenwerte in Arbeitsblattzellen.
  • ๐Ÿค– KI-Unterstรผtzung: KI-Copiloten helfen beim Schreiben, Debuggen und Warten Selenium VBA-Skripte werden bei ร„nderungen der Websites angepasst.

Selenium VBA Excel-Tutorial

Was ist Data Scraping?ping Die Verwendung von Selenium?

Selenium ist ein Automatisierungstool, das das Scraping erleichtert.ping Informationen aus HTML-Webseiten, durchgefรผhrtes Web-Scrapingping und Google ChromeIn Excel, Selenium Mithilfe der Typbibliothek kann VBA einen echten Browser anstelle der veralteten Internet Explorer-Engine ansteuern.

Wie man das Excel-Makro vor dem Daten-Scrap vorbereitetping Die Verwendung von Selenium

Es gibt bestimmte Voraussetzungen, die an der Excel-Makrodatei erfรผllt sein mรผssen, bevor mit dem Daten-Scraping begonnen werden kann.ping

Folgende Voraussetzungen mรผssen erfรผllt sein:

Schritt 1) ร–ffnen Sie ein Excel-basiertes Makro und greifen Sie auf die Entwickleroption von Excel zu.

Bereiten Sie ein Excel-Makro vor, bevor Sie die Daten extrahieren.ping mit automatisierten Selenium

Schritt 2) Wรคhlen Sie unter dem Menรผband โ€žEntwicklertoolsโ€œ die Option โ€žVisual Basicโ€œ aus.

Bereiten Sie ein Excel-Makro vor, bevor Sie die Daten extrahieren.ping mit automatisierten Selenium

Schritt 3) Fรผgen Sie ein neues Modul ein.

Bereiten Sie ein Excel-Makro vor, bevor Sie die Daten extrahieren.ping mit automatisierten Selenium

Schritt 4) Erstellen Sie eine neue Unterroutine und nennen Sie sie test2.

Sub test2()
End Sub

Das Ergebnis im Modul sรคhe wie folgt aus:

Bereiten Sie ein Excel-Makro vor, bevor Sie die Daten extrahieren.ping mit automatisierten Selenium

Schritt 5) Greifen Sie unter der Registerkarte โ€žToolsโ€œ auf die Option โ€žReferenzโ€œ zu und verweisen Sie auf die folgende Datei: Selenium Typbibliothek. Diese Bibliothek hilft beim ร–ffnen von Typen. Google Chrome und erleichtert die Erstellung von Makroskripten.

Literaturhinweis  Selenium Typbibliothek in Excel VBA

Die Excel-Datei ist nun bereit fรผr die Interaktion mit dem Browser. Im nรคchsten Schritt wird ein Makro-Skript eingebunden, das das Daten-Scraping ermรถglicht.ping in HTML.

Wie ร–ffnen Google Chrome Mit VBA

Hier sind die Schritte zum ร–ffnen Google Chrome mit VBA.

Schritt 1) Deklarieren und initialisieren Sie die Variablen in der Subroutine wie unten gezeigt.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer

Schritt 2) ร–ffnen Google Chrome mit automatisierten Selenium und VBA, schreiben Sie Treiber.Starten Sie โ€žChromeโ€œ und drรผcken Sie F5.

Der Code wรคre wie folgt:

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
Application.Wait Now + TimeValue("00:00:20")
End Sub

Das Modul wรผrde sich wie folgt darstellen:

ร–ffne Google Chrome mit VBA

Wie man eine Website erรถffnet Google Chrome Mit VBA

Sobald Sie Zugriff haben Google Chrome Der nรคchste Schritt bei der Verwendung von VBA ist der Zugriff auf eine Website mithilfe von VBA. Dies wird durch die Get-Funktion ermรถglicht, wobei die URL wird als doppelte Anfรผhrungszeichen รผbergeben.

Das Modul wรผrde wie folgt aussehen:

Webseite รถffnen in Google Chrome mit VBA

Drรผcken Sie F5, um das Makro auszufรผhren. Die folgende Webseite wรผrde sich รถffnen. Google Chrome wie gezeigt.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
Application.Wait Now + TimeValue("00:00:20")
End Sub

Webseite รถffnen in Google Chrome mit VBA

Das Excel-Makro ist nun bereit, den Scrap durchzufรผhren.ping Aufgaben. Der nรคchste Schritt zeigt, wie die Informationen extrahiert werden kรถnnen.tracdurch Anwendung Selenium und VBA.

Wie man mit VBA Informationen von einer Website extrahiert

Angenommen, ein Daytrader mรถchte tรคglich auf die Daten der Website zugreifen. Jedes Mal, wenn er auf den Button klickt, sollen die Marktdaten automatisch in Excel importiert werden.

Auf der oben genannten Website muss ein Element untersucht werden, um die Datenstruktur zu analysieren. Der Quellcode des unten stehenden HTML-Codes kann durch Drรผcken von Strg + aufgerufen werden. Shift + Ich

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

Wie Sie sehen, sind die Daten in einer einzelnen HTML-Tabelle strukturiert. Um die gesamten Daten aus der HTML-Tabelle abzurufen, mรผssen Sie daher ein Makro erstellen, das die Kopfzeileninformationen und die zugehรถrigen Daten extrahiert. Fรผhren Sie die folgenden Schritte aus.

Schritt 1) Formulieren Sie eine For-Schleife, die die HTML-Header-Informationen als Sammlung durchlรคuft. Selenium Der Treiber ermittelt die Header-Informationen mithilfe der Methoden FindElementByClass() und FindElementByTag(), wie dargestellt.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th

Schritt 2) Als nรคchstes Selenium Der Treiber findet die Tabellendaten mit einem รคhnlichen Ansatz. Schreiben Sie folgenden Code:

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

Excel kann mithilfe des Bereichs- oder des Zellenattributs des Tabellenblatts initialisiert werden. Um die Komplexitรคt des VBA-Skripts zu reduzieren, werden die Sammlungsdaten im Zellenattribut von Tabellenblatt 2 der Arbeitsmappe initialisiert. Das Textattribut ermรถglicht es, den Text innerhalb eines HTML-Tags zu platzieren.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

Das VBA-Modul wรผrde wie folgt aussehen:

Scrapen Sie Informationen von der Website mit VBA

Schritt 3) Sobald das Makroskript fertig ist, weisen Sie die Subroutine einer Excel-Schaltflรคche zu und beenden Sie das VBA-Modul. Benennen Sie die Schaltflรคche beispielsweise mit โ€žAktualisierenโ€œ. In diesem Beispiel heiรŸt die Schaltflรคche โ€žAktualisierenโ€œ.

Scrapen Sie Informationen von der Website mit VBA

Schritt 4) Drรผcken Sie die Schaltflรคche โ€žAktualisierenโ€œ, um die unten stehende Ausgabe zu erhalten.

Scrapen Sie Informationen von der Website mit VBA

Schritt 5) Vergleichen Sie die Ergebnisse in Excel mit den Ergebnissen in Google Chrome.

Scrapen Sie Informationen von der Website mit VBA

Hรคufig gestellte Fragen

Excel benรถtigt die Selenium Typenbibliothek, installiert รผber SeleniumBasic, im VBA-Editor unter โ€žExtrasโ€œ, โ€žVerweiseโ€œ referenziert, stellt diese Bibliothek das WebDriver-Objekt und Methoden wie Start, Get und FindElementByClass zur Verfรผgung, die zur Automatisierung des Browsers verwendet werden.

Selenium VBA kann steuern Google ChromeMozilla Firefox, Microsoft Edgeund Internet Explorer. Chrome ist die am hรคufigsten verwendete Wahl. Jeder Browser benรถtigt seinen passenden WebDriver, und derselbe VBA-Code kann mit minimalen ร„nderungen zwischen den Browsern gewechselt werden.

Das Internet Explorer-Methode nutzt die HTML-Objektbibliothek und nur den Internet Explorer, der veraltet ist. Selenium Unterstรผtzt moderne Browser wie Chrome und bietet Unterstรผtzung fรผr mehrere Browser sowie eine zuverlรคssigere Elementlokalisierung.

Ja. KI-Copiloten kรถnnen generieren Selenium VBA-Code wird anhand einer Beschreibung generiert, Element-Locators werden vorgeschlagen und bei der Fehlersuche geholfen. Bei Website-ร„nderungen kann die KI aktualisierte Selektoren vorschlagen und so den manuellen Aufwand fรผr die Pflege der Datenbank reduzieren.ping Makros.

KI erweitert die Browserautomatisierung um intelligente Elementerkennung, natรผrlichsprachliche Befehle und selbstheilende Locatoren. Dank dieser Funktionen fรผr maschinelles Lernen passen sich Tools automatisch an Layoutรคnderungen an und erleichtern so das Durchsuchen von Webseiten.ping und Tests, die robuster sind als feste, fest codierte Skripte.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: