Selenium VBA Exceli õpetus (Chrome Web Scratch)ping)

⚡ Nutikas kokkuvõte

Selenium VBA Excelis automatiseerib Google Chrome HTML-veebilehtedelt andmete kraapimiseks, kasutades Selenium tüübiteek ja WebDriveri meetodid saidi avamiseks, tabeli elementide leidmiseks klassi ja sildi järgi ning tulemuste kirjutamiseks töölehe lahtritesse.

  • 🧰 Selenium Veebidraiver: VBA kasutab Selenium tüübiteeki draivi Google Chrome kraapimiseksping.
  • 📚 Tüüpide kogu: . Selenium Enne WebDriver objektide deklareerimist tuleb viidata tüübiteegile.
  • 🚀 Alusta ja saa: Meetod Start avab Chrome'i ja meetod Get laadib sihtveebisaidi. URL.
  • 🔎 Elementide lokaatorid: FindElementByClass ja FindElementsByTag leiavad tabeli päise ja andmelahtrid.
  • 📊 Kirjuta lahtritesse: Pesastatud For Each tsükkel kirjutab päise ja rea ​​väärtused töölehe lahtritesse.
  • 🤖 AI abi: Tehisintellekti kaaspiloodid aitavad kirjutada, siluda ja hallata Selenium VBA skriptid saitide muutudes.

Selenium VBA Exceli õpetus

Mis on andmete kraapimine?ping Kasutamine Selenium?

Selenium on automatiseerimistööriist, mis hõlbustab kraapimistping HTML-veebilehtedelt pärit teabe, veebiskannimise teostamiseping koos Google ChromeExcelis Selenium tüübiteek võimaldab VBA-l käivitada päris brauserit aegunud Internet Exploreri mootori asemel.

Kuidas Exceli makrot enne andmete kraapimist ette valmistadaping Kasutamine Selenium

Enne andmete kraapimise alustamist tuleb Exceli makrofailiga täita teatud eeltingimused.ping protsessi.

Need eeltingimused on järgmised:

Step 1) Avage Exceli-põhine makro ja avage Exceli arendaja suvand.

Valmistage enne andmete kraapimist ette Exceli makroping kasutamine Selenium

Step 2) Valige arendaja lindi alt suvand Visual Basic.

Valmistage enne andmete kraapimist ette Exceli makroping kasutamine Selenium

Step 3) Sisestage uus moodul.

Valmistage enne andmete kraapimist ette Exceli makroping kasutamine Selenium

Step 4) Initsialiseeri uus alamprogramm ja nimeta see test2-ks.

Sub test2()
End Sub

Mooduli tulemus oleks järgmine:

Valmistage enne andmete kraapimist ette Exceli makroping kasutamine Selenium

Step 5) Avage vahekaardil Tööriistad suvand „Viide“ ja viidake Selenium Tüüpiteek. See teek aitab avada Google Chrome ja hõlbustab makro skriptimist.

Viide Selenium Tüübikogu Excelis VBA-s

Nüüd on Exceli fail brauseriga suhtlemiseks valmis. Järgmine samm on makroskripti lisamine, mis hõlbustab andmete skannimist.ping HTML-is.

Kuidas avada Google Chrome VBA kasutamine

Siin on sammud avamiseks Google Chrome VBA abil.

Step 1) Deklareeri ja initsialiseeri alamprogrammi muutujad allpool näidatud viisil.

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

Step 2) Avama Google Chrome kasutamine Selenium ja VBA-sse, kirjutage draiver. Käivitage Chrome ja vajutage F5.

Kood oleks järgmine.

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

Mooduli tulemus oleks järgmine:

avatud Google Chrome kasutades VBA-d

Kuidas veebisaiti avada Google Chrome VBA kasutamine

Kui teil on juurdepääs Google Chrome VBA kasutamisel on järgmine samm veebisaidile juurdepääs VBA abil. Seda hõlbustab funktsioon Get, kus URL edastatakse jutumärkidena.

Moodul näeks välja järgmine:

Ava veebileht rakenduses Google Chrome kasutades VBA-d

Makro käivitamiseks vajutage F5. Avaneb järgmine veebileht. Google Chrome nagu näidatud.

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

Ava veebileht rakenduses Google Chrome kasutades VBA-d

Nüüd on Exceli makro skrambleerimiseks valmis.ping ülesandeid. Järgmine samm näitab, kuidas teavet saab kasutadatracted, rakendades Selenium ja VBA.

Kuidas VBA abil veebisaidilt teavet kraapida

Oletame, et päevakaupleja soovib veebisaidil olevatele andmetele iga päev ligi pääseda. Iga kord, kui päevakaupleja nupule klõpsab, peaks turuandmed automaatselt Excelisse laadima.

Ülaltoodud veebisaidilt on vaja uurida elementi ja jälgida, kuidas andmed on struktureeritud. HTML-i lähtekoodile pääsete ligi vajutades Ctrl + Shift + Mina.

<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>

Nagu näete, on andmed struktureeritud ühe HTML-tabelina. Seega, et kogu teave HTML-tabelist kätte saada, peate looma makro, mis hangib päiseteabe ja tabeliga seotud vastavad andmed. Tehke alltoodud ülesandeid.

Step 1) Formuleerige For-tsükkel, mis läbib HTML-i päiseinfo kogumina. Selenium Draiver leiab päiseinfo FindElementByClass() ja FindElementByTag() meetodite abil, nagu näidatud.

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

Step 2) Järgmine Selenium Draiver leiab tabeli andmed sarnase lähenemisviisi abil. Kirjutage järgmine kood:

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

Exceli saab initsialiseerida lehe atribuudi „Range” või „Cells” abil. VBA-skripti keerukuse vähendamiseks initsialiseeritakse kogutud andmed töövihiku 2. lehe atribuudi „Cells” abil. Atribuut „Text” aitab teksti HTML-sildi alla paigutada.

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 moodul näeks välja järgmine:

Võtke VBA abil veebisaidilt teavet

Step 3) Kui makroskript on valmis, määrake alamprogramm Exceli nupule ja väljuge VBA moodulist. Märgistage nupp nimega Värskenda või mis tahes muu sobiv nimi. Selle näite puhul on nupu nimeks Värskenda.

Võtke VBA abil veebisaidilt teavet

Step 4) Alloleva väljundi saamiseks vajutage nuppu Värskenda.

Võtke VBA abil veebisaidilt teavet

Step 5) Võrdle Exceli tulemusi tulemustega Google Chrome.

Võtke VBA abil veebisaidilt teavet

KKK

Excel vajab Selenium Tüübikogu, installitud läbi SeleniumPõhiline, millele on viidatud VBA redaktoris menüü Tööriistad all Viited. See teek pakub WebDriver objekti ja meetodeid, näiteks Start, Get ja FindElementByClass, mida kasutatakse brauseri automatiseerimiseks.

Selenium VBA saab juhtida Google Chrome, Mozilla Firefox, Microsoft Edgeja Internet Explorer. Chrome on kõige levinum valik. Igal brauseril on vaja oma WebDriverit ja sama VBA-koodiga saab brauserit minimaalsete muudatustega vahetada.

. Internet Exploreri meetod kasutab HTML-objektiteeki ja ainult IE-d, mis on aegunud. Selenium toetab tänapäevaseid brausereid, näiteks Chrome'i, ning pakub mitme brauseri tuge ja usaldusväärsemat elementide asukoha tuvastamist.

Jah. Tehisintellektiga kaaspiloodid saavad genereerida Selenium Kirjeldusest VBA koodi leidmiseks, elementide otsijate soovitamiseks ja vigade silumiseks. Kui veebisait muutub, saab tehisintellekt pakkuda välja uuendatud selektoreid, vähendades käsitsi tehtavat tööd skraapide haldamisel.ping makrod.

Tehisintellekt lisab brauseri automatiseerimisele intelligentse elementide tuvastamise, loomuliku keele käsud ja isetervenevad lokaatorid. Need masinõppe funktsioonid võimaldavad tööriistadel automaatselt paigutuse muudatustega kohaneda, muutes skriinimise lihtsamaks.ping ja testimine on vastupidavam kui fikseeritud, kõvakodeeritud skriptid.

Võta see postitus kokku järgmiselt: