Selenium Výukový program VBA pro Excel (Chrome Web Scraping)
⚡ Chytré shrnutí
Selenium VBA v Excelu automatizuje Google Chrome pro získávání dat z webových stránek HTML pomocí Selenium knihovnu typů a metody WebDriver pro otevření webu, vyhledání prvků tabulky podle třídy a tagu a zápis výsledků do buněk listu.

Co je to scraping datping Použití Selenium?
Selenium je automatizační nástroj, který usnadňuje scrapingping informace z webových stránek HTML, provádění webového scrapinguping s Google ChromeV Excelu Selenium Knihovna typů umožňuje VBA spustit skutečný prohlížeč namísto zastaralého enginu Internet Exploreru.
Jak připravit makro v Excelu před smazáním datping Použití Selenium
Před zahájením scrapingu dat je nutné s makrom aplikace Excel splnit určité předpoklady.ping proces.
Tyto předpoklady jsou následující:
Krok 1) Otevřete makro založené na Excelu a přejděte na možnost Vývojář v Excelu.
Krok 2) Na pásu karet Vývojář vyberte možnost Visual Basic.
Krok 3) Vložte nový modul.
Krok 4) Inicializujte nový podprogram a pojmenujte ho test2.
Sub test2() End Sub
Výsledek v modulu by byl následující:
Krok 5) Otevřete možnost Reference na kartě Nástroje a vyhledejte odkaz na Selenium Knihovna typů. Tato knihovna pomáhá otevírat Google Chrome a usnadňuje skriptování maker.
Soubor Excel je nyní připraven k interakci s prohlížečem. Dalším krokem je začlenění makro skriptu, který usnadňuje scrapování dat.ping v HTML.
Jak otevřít Google Chrome Použití VBA
Zde jsou kroky k otevření Google Chrome pomocí VBA.
Krok 1) Deklarujte a inicializujte proměnné v podprogramu, jak je znázorněno níže.
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer
Krok 2) Otevřít Google Chrome použitím Selenium a VBA, napište ovladač. Spusťte „Chrome“ a stiskněte F5.
Následující by byl 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
Modul by vypadal takto:
Jak otevřít webovou stránku v Google Chrome Použití VBA
Jakmile budete mít přístup Google Chrome pomocí VBA je dalším krokem přístup k webové stránce pomocí VBA. To je usnadněno funkcí Get, kde URL se předává jako dvojité uvozovky.
Modul by vypadal takto:
Stisknutím klávesy F5 spusťte makro. Otevře se následující webová stránka. Google Chrome jak je znázorněno.
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
Nyní je makro aplikace Excel připraveno k provedení scrapingu.ping úkoly. Další krok ukazuje, jak lze informace exportovattracted aplikací Selenium a VBA.
Jak získat informace z webových stránek pomocí VBA
Předpokládejme, že denní obchodník chce denně přistupovat k datům z webových stránek. Pokaždé, když klikne na tlačítko, měla by se tržní data automaticky načíst do Excelu.
Z výše uvedené webové stránky je nutné prozkoumat prvek a sledovat, jak jsou data strukturována. Zdrojový kód HTML níže naleznete stisknutím kláves Ctrl + Shift + Já.
<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>
Jak vidíte, data jsou strukturována jako jedna HTML tabulka. Chcete-li tedy načíst všechna data z HTML tabulky, musíte navrhnout makro, které načte informace ze záhlaví a odpovídající data spojená s tabulkou. Proveďte níže uvedené úkoly.
Krok 1) Vytvořte smyčku For, která prochází informacemi v záhlaví HTML jako kolekcí. Selenium Ovladač vyhledá informace v záhlaví pomocí metod FindElementByClass() a FindElementByTag(), jak je znázorněno.
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
Krok 2) Dále, Selenium Ovladač vyhledá data tabulky pomocí podobného přístupu. Napište následující kód:
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 lze inicializovat pomocí atributu Range nebo atributu Cells listu. Pro zjednodušení skriptu VBA jsou data kolekce inicializována atributem Cells listu 2 v sešitu. Atribut Text pomáhá umístit text pod tag HTML.
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
Modul VBA by vypadal takto:
Krok 3) Jakmile je makro skript připraven, přiřaďte podprogram tlačítku Excelu a ukončete modul VBA. Tlačítko pojmenujte jako Obnovit nebo jiným vhodným názvem. V tomto příkladu je tlačítko označeno Obnovit.
Krok 4) Stiskněte tlačítko Obnovit pro zobrazení níže uvedeného výstupu.
Krok 5) Porovnejte výsledky v Excelu s výsledky v Google Chrome.












