Selenium VBA Excel -opetusohjelma (Chrome Web Scratch)ping)
โก รlykรคs yhteenveto
Selenium VBA Excelissรค automatisoi Google Chrome kaapata tietoja HTML-verkkosivuilta kรคyttรคmรคllรค Selenium tyyppikirjasto- ja WebDriver-metodit sivuston avaamiseen, taulukon elementtien paikantamiseen luokan ja tunnisteen perusteella sekรค tulosten kirjoittamiseen laskentataulukon soluihin.

Mikรค on Data Scrabping Kรคyttรคminen Selenium?
Selenium on automaatiotyรถkalu, joka helpottaa scraapaustaping tietoa HTML-verkkosivuilta, verkkoskannauksen suorittaminenping Google ChromeExcelissรค Selenium Tyyppikirjasto antaa VBA:n ajaa oikeaa selainta vanhentuneen Internet Explorer -moottorin sijaan.
Excel-makron valmistelu ennen tietojen kaappaustaping Kรคyttรคminen Selenium
Excel-makrotiedostolle on tiettyjรค edellytyksiรค, jotka on suoritettava ennen tietojen skannauksen aloittamista.ping prosessiin.
Nรคmรค edellytykset ovat seuraavat:
Vaihe 1) Avaa Excel-pohjainen makro ja kรคytรค Excelin kehittรคjรคvaihtoehtoa.
Vaihe 2) Valitse Visual Basic -vaihtoehto Kehittรคjรค-valintanauhasta.
Vaihe 3) Aseta uusi moduuli.
Vaihe 4) Alusta uusi aliohjelma ja nimeรค se test2:ksi.
Sub test2() End Sub
Moduulin tulos olisi seuraava:
Vaihe 5) Siirry Tyรถkalut-vรคlilehden Viite-asetuksiin ja viittaa Selenium Tyyppikirjasto. Tรคmรค kirjasto auttaa avaamaan Google Chrome ja helpottaa makrokomentosarjojen kirjoittamista.
Nyt Excel-tiedosto on valmis kรคytettรคvรคksi selaimen kanssa. Seuraava vaihe on sisรคllyttรครค makroskripti, joka helpottaa tietojen skannausta.ping HTML:ssรค.
Kuinka avata Google Chrome VBA:n kรคyttรถ
Tรคssรค ovat avaamisen vaiheet Google Chrome kรคyttรคen VBA:ta.
Vaihe 1) Mรครคrittele ja alusta aliohjelman muuttujat alla olevan kuvan mukaisesti.
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer
Vaihe 2) Avata Google Chrome kรคyttรคmรคllรค Selenium ja VBA:han, kirjoita ajuri. Kรคynnistรค Chrome ja paina F5-nรคppรคintรค.
Seuraava olisi koodi.
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
Moduulin tuloksena olisi seuraava:
Kuinka avata verkkosivusto Google Chrome VBA:n kรคyttรถ
Kun pรครคset kรคsiksi Google Chrome VBA:ta kรคytettรคessรค seuraava vaihe on verkkosivuston avaaminen VBA:n avulla. Tรคtรค helpottaa Get-funktio, jossa URL vรคlitetรครคn lainausmerkeissรค.
Moduuli nรคyttรคisi tรคltรค:
Suorita makro painamalla F5-nรคppรคintรค. Seuraava verkkosivu avautuu Google Chrome kuten kuvassa nรคkyy.
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
Excel-makro on nyt valmis suorittamaan scrapin.ping tehtรคviรค. Seuraava vaihe osoittaa, miten tietoja voidaan kรคyttรครคtracsoveltamalla Selenium ja VBA.
Kuinka kaapia tietoja verkkosivustolta VBA:n avulla
Oletetaan, ettรค pรคivรคkauppias haluaa kรคyttรครค verkkosivuston tietoja pรคivittรคin. Joka kerta, kun pรคivรคkauppias napsauttaa painiketta, sen pitรคisi automaattisesti hakea markkinatiedot Exceliin.
Yllรค olevalla verkkosivustolla on tarpeen tarkastella elementtiรค ja havaita, miten tiedot on jรคsennelty. Pรครคset alla olevan HTML-koodin lรคhdekoodiin painamalla Ctrl + Shift + Minรค.
<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>
Kuten nรคet, tiedot on jรคsennelty yhdeksi HTML-taulukoksi. Jotta voit hakea kaikki tiedot HTML-taulukosta, sinun on suunniteltava makro, joka hakee otsikkotiedot ja taulukkoon liittyvรคt vastaavat tiedot. Suorita alla olevat tehtรคvรคt.
Vaihe 1) Laadi For-silmukka, joka kรคy lรคpi HTML-otsikkotiedot kokoelmana. Selenium ajuri paikantaa otsikkotiedot FindElementByClass()- ja FindElementByTag()-metodien avulla, kuten kuvassa nรคkyy.
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
Vaihe 2) Seuraavaksi Selenium ajuri paikantaa taulukon tiedot samankaltaisella lรคhestymistavalla. Kirjoita seuraava koodi:
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 voidaan alustaa taulukon Range- tai Cells-attribuutin avulla. VBA-skriptin monimutkaisuuden vรคhentรคmiseksi kokoelman tiedot alustetaan tyรถkirjan Sheet 2:n Cells-attribuutilla. Text-attribuutin avulla teksti voidaan sijoittaa HTML-tunnisteen alle.
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-moduuli nรคyttรคisi tรคltรค:
Vaihe 3) Kun makroskripti on valmis, mรครคritรค aliohjelma Excel-painikkeelle ja poistu VBA-moduulista. Nimeรค painike nimellรค Pรคivitรค tai millรค tahansa sopivalla nimellรค. Tรคssรค esimerkissรค painikkeen nimi on Pรคivitรค.
Vaihe 4) Saat alla olevan tulosteen painamalla Pรคivitรค-painiketta.
Vaihe 5) Vertaa Excelin tuloksia Excelin tuloksiin Google Chrome.












