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.

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.
Step 2) Válassza a Visual Basic lehetőséget a Fejlesztői menüszalag alatt.
Step 3) Helyezzen be egy új modult.
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:
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.
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:
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:
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
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:
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ú.
Step 4) Nyomja meg a Frissítés gombot az alábbi kimenet megtekintéséhez.
Step 5) Hasonlítsa össze az Excelben kapott eredményeket az itt található eredményekkel Google Chrome.












