Selenium VBA Excel oktatóanyag (Chrome Web Scratch)ping)

⚡ Okos összefoglaló

Selenium A VBA az Excelben automatizálja a műveleteket Google Chrome HTML weboldalakról adatok lekaparásához a Selenium típuskönyvtár és WebDriver metódusok webhelyek megnyitásához, táblázatelemek osztály és címke szerinti megkereséséhez, valamint az eredmények munkalap cellákba írásához.

  • 🧰 Selenium WebDriver: A VBA a következőt használja: Selenium típuskönyvtár meghajtóhoz Google Chrome kaparáshozping.
  • ???? Típuskönyvtár: Az Selenium A WebDriver objektumok deklarálása előtt hivatkozni kell a típuskönyvtárra.
  • 🚀 Kezdés és beszerzés: A Start metódus megnyitja a Chrome-ot, a Get metódus pedig betölti a célwebhelyet. URL.
  • ???? Elemlokátorok: A FindElementByClass és a FindElementsByTag függvények megkeresik a táblázat fejlécét és az adatcellákat.
  • 📊 Cellákba írás: Egy beágyazott For Each ciklus fejléc- és sorértékeket ír a munkalap celláiba.
  • 🤖 AI segítség: A mesterséges intelligencia által támogatott másodpilóták segítenek az írásban, a hibakeresésben és a karbantartásban Selenium VBA szkriptek a webhelyek változásával.

Selenium VBA Excel oktatóanyag

Mi az a Data Scrat?ping <p></p> Selenium?

Selenium egy automatizáló eszköz, amely megkönnyíti a scraping információk HTML weboldalakról, webes scratch végrehajtásaping ahol Google ChromeAz Excelben a Selenium A típuskönyvtár lehetővé teszi a VBA számára, hogy valódi böngészőt működtessen az elavult Internet Explorer motor helyett.

Hogyan készítsük el az Excel makrót az adatmásolás előtt?ping <p></p> Selenium

Bizonyos előfeltételeket teljesíteni kell az Excel makrófájlon az adatmásolás megkezdése előtt.ping folyamat.

Ezek az előfeltételek a következők:

Step 1) Nyisson meg egy Excel-alapú makrót, és nyissa meg az Excel fejlesztői beállításait.

Excel makró készítése adatmásolás előttping segítségével Selenium

Step 2) Válassza a Visual Basic lehetőséget a Fejlesztői menüszalag alatt.

Excel makró készítése adatmásolás előttping segítségével Selenium

Step 3) Helyezzen be egy új modult.

Excel makró készítése adatmásolás előttping segítségével Selenium

Step 4) Inicializálj egy új alprogramot, és nevezd el test2-nek.

Sub test2()
End Sub

A modulban az eredmény a következő lenne:

Excel makró készítése adatmásolás előttping segítségével Selenium

Step 5) Nyissa meg a Referencia opciót az Eszközök fül alatt, és hivatkozzon a Selenium Típuskönyvtár. Ez a könyvtár segít megnyitni Google Chrome és megkönnyíti a makrószkriptelést.

Referencia Selenium Típuskönyvtár Excel VBA-ban

Most az Excel fájl készen áll a böngészővel való interakcióra. A következő lépés egy makró szkript beillesztése, amely megkönnyíti az adatmásolást.ping HTML-ben.

Hogyan nyissuk meg Google Chrome VBA használata

Íme a megnyitás lépései Google Chrome VBA használatával.

Step 1) Deklarálja és inicializálja a változókat az alprogramban az alábbiak szerint.

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

Step 2) Kinyitni Google Chrome segítségével Selenium és VBA-ba, írd be az illesztőprogramot. Indítsd el a „Chrome”-ot és nyomd meg az F5 billentyűt.

A következő lenne a kód.

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

A modul eredménye a következő lenne:

Nyisd ki Google Chrome VBA használatával

Hogyan nyissunk meg egy weboldalt a Google Chrome VBA használata

Amint hozzáférhetsz Google Chrome VBA használata esetén a következő lépés egy weboldal elérése VBA használatával. Ezt a Get függvény segíti elő, ahol a URL dupla idézőjelek között kerül átadásra.

A modul a következőképpen nézne ki:

Weboldal megnyitása itt: Google Chrome VBA használatával

Nyomja meg az F5 billentyűt a makró végrehajtásához. A következő weboldal nyílik meg Google Chrome az ábrán látható módon.

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

Weboldal megnyitása itt: Google Chrome VBA használatával

Az Excel makró most már készen áll a scraw végrehajtására.ping feladatok. A következő lépés bemutatja, hogyan lehet az információkat felhasználnitracalkalmazással Selenium és VBA.

Hogyan lehet információkat lekaparni egy weboldalról VBA használatával

Tegyük fel, hogy a napi kereskedő naponta szeretné elérni a weboldal adatait. Minden alkalommal, amikor a napi kereskedő rákattint a gombra, a piaci adatoknak automatikusan Excelbe kell kerülniük.

A fenti weboldalon meg kell vizsgálni egy elemet, és meg kell figyelni az adatok strukturálását. A Control + billentyűkombináció megnyomásával elérheti az alábbi HTML forráskódját. Shift +I.

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

Amint látható, az adatok egyetlen HTML-táblázatként vannak strukturálva. Ezért a teljes adatok HTML-táblázatból való kinyeréséhez olyan makrót kell tervezni, amely kinyeri a fejlécinformációkat és a táblázathoz tartozó megfelelő adatokat. Hajtsa végre az alábbi feladatokat.

Step 1) Formuláljon egy For ciklust, amely gyűjteményként futtatja végig a HTML fejlécinformációkat. Selenium Az illesztőprogram a FindElementByClass() és a FindElementByTag() metódusok segítségével keresi meg a fejlécinformációkat, az ábrán látható módon.

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) Ezután a Selenium Az illesztőprogram hasonló megközelítéssel keresi meg a tábla adatait. Írja meg a következő kódot:

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

Az Excel inicializálható a munkalap Range vagy Cells attribútumával. A VBA szkript bonyolultságának csökkentése érdekében a gyűjteményadatok a munkafüzet 2. munkalapjának Cells attribútumával inicializálódnak. A Text attribútum segít a szöveg HTML-címke alá helyezésében.

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

A VBA modul így nézne ki:

Kaparja le az információkat a webhelyről a VBA segítségével

Step 3) Miután a makrószkript elkészült, rendelje hozzá az alprogramot egy Excel gombhoz, és lépjen ki a VBA modulból. Nevezze el a gombot Frissítésként vagy bármilyen más megfelelő néven. Ebben a példában a gomb Frissítés feliratú.

Kaparja le az információkat a webhelyről a VBA segítségével

Step 4) Nyomja meg a Frissítés gombot az alábbi kimenet megtekintéséhez.

Kaparja le az információkat a webhelyről a VBA segítségével

Step 5) Hasonlítsa össze az Excelben kapott eredményeket az itt található eredményekkel Google Chrome.

Kaparja le az információkat a webhelyről a VBA segítségével

GYIK

Az Excelnek szüksége van a Selenium Típuskönyvtár, telepítve a következőn keresztül: SeleniumBasic, amelyre a VBA-szerkesztőben az Eszközök, Hivatkozások alatt hivatkozunk. Ez a függvénykönyvtár biztosítja a WebDriver objektumot és olyan metódusokat, mint a Start, Get és FindElementByClass, amelyek a böngésző automatizálásához használhatók.

Selenium A VBA képes vezetni Google Chrome, Mozilla Firefox, Microsoft Edge, és az Internet Explorert. A Chrome a leggyakoribb választás. Minden böngészőnek szüksége van a megfelelő WebDriver-re, és ugyanazzal a VBA-kóddal minimális változtatásokkal válthat böngészőket.

Az Internet Explorer módszer a HTML objektumkönyvtárat és csak az IE-t használja, amely elavult. Selenium modern böngészőket, például a Chrome-ot futtat, és több böngésző támogatást, valamint megbízhatóbb elemkeresést kínál.

Igen. A mesterséges intelligenciával működő másodpilóták képesek generálni Selenium VBA kódot kinyerni egy leírásból, elemkeresőket javasolni, és segíteni a hibák elhárításában. Amikor egy weboldal megváltozik, a mesterséges intelligencia frissített szelektorokat javasolhat, csökkentve a kódok karbantartásának manuális erőfeszítéseit.ping makrók.

A mesterséges intelligencia intelligens elemészlelést, természetes nyelvi parancsokat és önjavító helymeghatározókat ad a böngésző automatizálásához. Ezek a gépi tanulási funkciók lehetővé teszik az eszközök számára, hogy automatikusan alkalmazkodjanak az elrendezés változásaihoz, így a skála...ping és a tesztelés rugalmasabb, mint a fix, fixen kódolt szkriptek.

Foglald össze ezt a bejegyzést a következőképpen: