Selenium VBA Excel -opetusohjelma: Esimerkki Chrome Web-kaappauksesta
Mitä on seleeniä käyttävä tietojen kaavinta?
Selenium voidaan luokitella automaatiotyökaluksi, joka helpottaa tietojen kaapimista HTML-verkkosivuilta web-kaappauksen suorittamiseksi google chromea käyttämällä.
Kuinka valmistella Excel-makro ennen tietojen kaapimista Selenium?
On olemassa tiettyjä edellytyksiä, jotka on suoritettava Excel-makrotiedostolle ennen kuin aloitat tietojen kaapimisen Excelissä.
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ä-nauhasta.
Vaihe 3) Aseta uusi moduuli.
Vaihe 4) Alusta uusi aliohjelma ja anna sille nimi test2.
Sub test2() End sub
Moduulin tulokset olisivat seuraavat: -
Vaihe 5) Käytä työkalu-välilehden viitevaihtoehtoa ja viittausta Selenium tyyppinen kirjasto. Seuraaviin kirjastoihin on viitattava moduuliin, koska se auttaa google chromen avaamisessa ja helpottaa makrokomentosarjojen kehittämistä.
Nyt Excel-tiedosto on valmis vuorovaikutukseen Internet Explorerin kanssa. Seuraavaksi sisällytetään makrokomentosarja, joka helpottaisi tietojen kaapimista HTML:ään.
Kuinka avata Google Chrome käytät VBA:ta?
Tässä on vaihe avataksesi Google Chrome käyttämällä VBA:ta
Vaihe 1) Ilmoita ja alusta aliohjelman muuttujat alla näytetyllä tavalla
Sub test2() Dim driver as new webdriver Dim rowc, cc, columnC as integer
Vaihe 2) Avaa google chrome seleenillä ja VBA:lla kirjoittamalla driver.start "chrome" ja painamalla F5.
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 tulos olisi seuraava: -
Kuinka avata verkkosivusto Google Chromessa VBA: n avulla?
Kun pääset Google Chromeen VBA:n avulla, seuraava askel olisi sisällyttää verkkosivuston käyttö VBA:ta käyttämällä. Tätä helpottaa get-toiminto, jossa URL-osoitteen täytyy kulkea lainausmerkeinä attribuutissa.
Noudata seuraavia näytössä olevia ohjeita
Moduuli näyttäisi seuraavalta: -
Paina F5 suorittaaksesi makron.
Seuraava verkkosivu avattaisiin google chromessa näytettynä
Sub test2() Dim driver as new webdriver Dim rowc, cc, columnC as integer Driver.start "Chrome" Driver.get "http://demo.guru99.com/test/web-table-element.php" Application.Wait Now+Timevalue("00:00:20") End sub
Nyt excel-makro on valmis kaavintatehtävien suorittamiseen. Seuraava vaihe näyttää, kuinka tiedot voidaan poimia käyttämällä seleeniä ja VBA:ta.
Kuinka kaapata tietoja verkkosivustolta VBA: n avulla?
Oletetaan, että päiväkauppias haluaa käyttää verkkosivuston tietoja päivittäin. Aina kun päiväkauppias painaa napsautuspainiketta, sen pitäisi vetää markkinatiedot automaattisesti Exceliin.
Yllä olevalta verkkosivustolta olisi tarpeen tarkastaa elementti ja tarkkailla, kuinka tiedot rakentuvat. Pääset alla olevaan HTML-lähdekoodiin painamalla Ctrl + 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>
Lähdekoodi olisi seuraava: -
Kuten voidaan nähdä, että tiedot on rakennettu yhdeksi HTML-taulukoksi. Siksi, jotta koko data voidaan vetää HTML-taulukosta, se vaatisi sellaisen makron suunnittelua, joka vetää HTML-taulukon otsikkotiedot ja vastaavat taulukkoon liittyvät tiedot. Suorita seuraavat tehtävät näytetyllä tavalla: –
Vaihe 1) Muotoile for-silmukka, joka kulkee HTML-otsikkotietojen läpi kokoelmana. Seleeniajurin on löydettävä HTML-taulukon otsikkotiedot. Tätä varten käytämme FindElementByClass()- ja FindElementByTag()-metodeja tehtävän suorittamiseen näytetyllä tavalla.
VBA-moduuli näyttäisi seuraavalta: –
Sub test2() Dim driver As New WebDriver Dim rowc, cc, columnC As Integer rowc = 2 Application.ScreenUpdating = False driver.Start "chrome" driver.Get "http://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 seleeniajuri paikantaa taulukon tiedot käyttämällä samanlaista lähestymistapaa, kuten edellä mainittiin. Sinun on kirjoitettava 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"http://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ä: -
Excel voidaan alustaa Excel-taulukon Range-attribuutilla tai Excel-taulukon solujen kautta. VBA-komentosarjan monimutkaisuuden vähentämiseksi kokoelmatiedot alustetaan työkirjassa olevan taulukon 2 Excel-solujen attribuutiksi. Lisäksi text-attribuutti auttaa saamaan tekstitiedot 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"http://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, välitä ja määritä aliohjelma excel-painikkeelle ja poistu VBA-moduulista. Nimeä painike päivitystekstiksi tai muuksi sopivaksi nimeksi, joka voidaan alustaa siihen. Tässä esimerkissä painike alustetaan päivityksenä.
Vaihe 4) Paina päivityspainiketta saadaksesi alla mainitun tulosteen
Vaihe 5) Vertaa Excelin tuloksia google chromen tuloksiin
Yhteenveto
- Selenium voidaan luokitella automaatiotyökaluksi, joka helpottaa tietojen kaapimista HTML-verkkosivuilta web-kaappauksen suorittamiseksi google chromea käyttämällä.
- Internetin kaapiminen tulee tehdä huolellisesti.
- Tietojen poistaminen on yleensä verkkosivuston ehtojen vastaista.
- Kun kaapiminen tehdään seleenin kautta, se tarjoaa useiden selaintuen.
- Toisin sanoen kaavin voi suorittaa samanlaisia läpikaapimiseen liittyviä tehtäviä Firefox, Internet Explorer samoin.