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.

  • ๐Ÿงฐ Selenium WebDriver: VBA kรคyttรครค Selenium tyyppikirjasto ajaa Google Chrome raapuja vartenping.
  • ๐Ÿ“š Tyyppikirjasto: Selenium tyyppikirjastoon on viitattava ennen kuin WebDriver-objekteja voidaan deklaroida.
  • ๐Ÿš€ Aloita ja hanki: Start-metodi avaa Chromen ja Get-metodi lataa kohdesivuston. URL.
  • ๐Ÿ”Ž Elementtien paikantimet: FindElementByClass ja FindElementsByTag paikantavat taulukon otsikon ja datasolut.
  • ๐Ÿ“Š Kirjoita soluihin: Sisรคkkรคinen For Each -silmukka kirjoittaa otsikko- ja riviarvot laskentataulukon soluihin.
  • ๐Ÿค– AI-apu: Tekoรคlyavustajan avustaminen kirjoittamisessa, virheenkorjauksessa ja yllรคpidossa Selenium VBA-skriptit sivustojen muuttuessa.

Selenium VBA Excel -opetusohjelma

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.

Valmistele Excel-makro ennen tietojen skannaustaping kรคyttรคmรคllรค Selenium

Vaihe 2) Valitse Visual Basic -vaihtoehto Kehittรคjรค-valintanauhasta.

Valmistele Excel-makro ennen tietojen skannaustaping kรคyttรคmรคllรค Selenium

Vaihe 3) Aseta uusi moduuli.

Valmistele Excel-makro ennen tietojen skannaustaping kรคyttรคmรคllรค Selenium

Vaihe 4) Alusta uusi aliohjelma ja nimeรค se test2:ksi.

Sub test2()
End Sub

Moduulin tulos olisi seuraava:

Valmistele Excel-makro ennen tietojen skannaustaping kรคyttรคmรคllรค Selenium

Vaihe 5) Siirry Tyรถkalut-vรคlilehden Viite-asetuksiin ja viittaa Selenium Tyyppikirjasto. Tรคmรค kirjasto auttaa avaamaan Google Chrome ja helpottaa makrokomentosarjojen kirjoittamista.

Viite Selenium Tyyppikirjasto Excel VBA:ssa

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:

avoin Google Chrome kรคyttรคmรคllรค VBA:ta

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รค:

Avaa verkkosivusto kohteessa Google Chrome kรคyttรคmรคllรค VBA:ta

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

Avaa verkkosivusto kohteessa Google Chrome kรคyttรคmรคllรค VBA:ta

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รค:

Raaputa tiedot verkkosivustolta VBA:n avulla

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รค.

Raaputa tiedot verkkosivustolta VBA:n avulla

Vaihe 4) Saat alla olevan tulosteen painamalla Pรคivitรค-painiketta.

Raaputa tiedot verkkosivustolta VBA:n avulla

Vaihe 5) Vertaa Excelin tuloksia Excelin tuloksiin Google Chrome.

Raaputa tiedot verkkosivustolta VBA:n avulla

UKK

Excel tarvitsee Selenium Tyyppikirjasto, asennettuna SeleniumPeruskirjasto, johon viitataan VBA-editorissa kohdassa Tyรถkalut, Viittaukset. Tรคmรค kirjasto tarjoaa WebDriver-objektin ja metodit, kuten Start, Get ja FindElementByClass, joita kรคytetรครคn selaimen automatisointiin.

Selenium VBA voi ajaa Google Chrome, Mozilla Firefox, Microsoft Edgeja Internet Explorer. Chrome on yleisin valinta. Jokainen selain tarvitsee oman WebDriver-ajurinsa, ja samalla VBA-koodilla voi vaihtaa selainta minimaalisilla muutoksilla.

Internet Explorerin menetelmรค kรคyttรครค HTML-objektikirjastoa ja vain IE:tรค, joka on vanhentunut. Selenium ohjaa moderneja selaimia, kuten Chromea, ja tarjoaa useiden selainten tuen ja luotettavamman elementtien paikannuksen.

Kyllรค. Tekoรคlyllรค toimivat apupilotit voivat tuottaa Selenium VBA-koodia kuvauksesta, ehdottaa elementtien paikantimia ja auttaa virheiden virheenkorjauksessa. Kun verkkosivusto muuttuu, tekoรคly voi ehdottaa pรคivitettyjรค valitsimia, mikรค vรคhentรครค manuaalista tyรถmรครคrรครค scrapien yllรคpidossa.ping makrot.

Tekoรคly lisรครค รคlykkรครคn elementtien tunnistuksen, luonnollisen kielen komennot ja itsekorjaavat paikantimet selaimen automaatioon. Nรคmรค koneoppimisominaisuudet antavat tyรถkalujen mukautua asettelun muutoksiin automaattisesti, mikรค tekee scrapingista...ping ja testaus on kestรคvรคmpรครค kuin kiinteรคt, kovakoodatut skriptit.

Tiivistรค tรคmรค viesti seuraavasti: