Selenium VBA Excel-opplæring (Chrome Web Scrap)ping)
⚡ Smart oppsummering
Selenium VBA i Excel automatiserer Google Chrome å skrape data fra HTML-nettsider ved hjelp av Selenium Skriv bibliotek- og WebDriver-metoder for å åpne et nettsted, finne tabellelementer etter klasse og tagg, og skriv resultatene inn i regnearkceller.

Hva er dataskrapingping Ved hjelp av Selenium?
Selenium er et automatiseringsverktøy som forenkler scrapingping informasjon fra HTML-nettsider, utføre webskrapingping med Google ChromeI Excel, Selenium typebiblioteket lar VBA kjøre en ekte nettleser i stedet for den utdaterte Internet Explorer-motoren.
Slik klargjør du Excel-makroen før dataskrapingping Ved hjelp av Selenium
Det er visse forutsetninger som må utføres på Excel-makrofilen før dataskrapingen starter.ping prosess.
Disse forutsetningene er som følger:
Trinn 1) Åpne en Excel-basert makro og få tilgang til utvikleralternativet i Excel.
Trinn 2) Velg Visual Basic-alternativet under Utvikler-båndet.
Trinn 3) Sett inn en ny modul.
Trinn 4) Initialiser en ny subrutine og kall den test2.
Sub test2() End Sub
Resultatet i modulen ville bli som følger:
Trinn 5) Gå til Referanse-alternativet under Verktøy-fanen og referer til Selenium Typebibliotek. Dette biblioteket hjelper med å åpne Google Chrome og forenkler makroskripting.
Nå er Excel-filen klar til å samhandle med nettleseren. Neste trinn er å innlemme et makroskript som forenkler dataskraping.ping i HTML.
Hvordan åpne Google Chrome Bruker VBA
Her er trinnene for å åpne Google Chrome ved hjelp av VBA.
Trinn 1) Deklarer og initialiser variablene i subrutinen som vist nedenfor.
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer
Trinn 2) Å åpne Google Chrome ved hjelp av Selenium og VBA, skriv driver. Start «Chrome» og trykk F5.
Følgende vil være koden.
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
Modulen ville resultere som følger:
Slik åpner du et nettsted i Google Chrome Bruker VBA
Når du har tilgang Google Chrome Ved bruk av VBA er neste trinn å få tilgang til et nettsted ved hjelp av VBA. Dette gjøres mulig med Get-funksjonen, der URL sendes som doble anførselstegn.
Modulen ville se slik ut:
Trykk F5 for å kjøre makroen. Følgende nettside åpnes i Google Chrome som vist.
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
Nå er Excel-makroen klar til å utføre skrapingenping oppgaver. Neste trinn viser hvordan informasjonen kan bli uttrykttracved å søke Selenium og VBA.
Slik skraper du informasjon fra et nettsted ved hjelp av VBA
Anta at daytraderen ønsker å få tilgang til dataene fra nettstedet daglig. Hver gang daytraderen klikker på knappen, skal den automatisk hente markedsdataene inn i Excel.
Fra nettsiden ovenfor er det nødvendig å inspisere et element og observere hvordan dataene er strukturert. Få tilgang til kildekoden til HTML-koden nedenfor ved å trykke Ctrl + Shift + Jeg.
<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>
Som du kan se, er dataene strukturert som én enkelt HTML-tabell. For å hente alle dataene fra HTML-tabellen må du derfor designe en makro som henter headerinformasjonen og de tilsvarende dataene som er knyttet til tabellen. Utfør oppgavene nedenfor.
Trinn 1) Formuler en For-løkke som går gjennom HTML-headerinformasjonen som en samling. Selenium Driveren finner headerinformasjonen ved hjelp av metodene FindElementByClass() og FindElementByTag(), som vist.
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
Trinn 2) Deretter Selenium Driveren finner tabelldataene ved hjelp av en lignende fremgangsmåte. Skriv følgende kode:
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 kan initialiseres ved hjelp av Range-attributtet eller Cells-attributtet i arket. For å redusere kompleksiteten til VBA-skriptet initialiseres samlingsdataene til Cells-attributtet i ark 2 i arbeidsboken. Text-attributtet bidrar til å plassere teksten under en HTML-tag.
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
VBA-modulen ville se slik ut:
Trinn 3) Når makroskriptet er klart, tilordner du subrutinen til en Excel-knapp og avslutter VBA-modulen. Merk knappen som Oppdater eller et annet passende navn. I dette eksemplet er knappen merket Oppdater.
Trinn 4) Trykk på Oppdater-knappen for å få resultatet nedenfor.
Trinn 5) Sammenlign resultatene i Excel med resultatene i Google Chrome.












