Selenium Підручник з VBA та Excel: Chrome Web Scratchping Приклад
Що таке скребання данихping використання селену?
Selenium можна класифікувати як інструмент автоматизації, що полегшує скрапбукінгping інформації з веб-сторінок HTML для виконання веб-скрапінгуping за допомогою Google Chrome.
Як підготувати макрос Excel перед виконанням стирання данихping використання Selenium?
Існують певні передумови, які необхідно виконати для файлу макросу Excel, перш ніж розпочати процес стирання даних.ping в екселі.
Ці передумови такі: –
Крок 1) Відкрийте макрос на основі Excel і перейдіть до опції розробника excel.
Крок 2) Виберіть параметр Visual Basic на стрічці розробника.
Крок 3) Вставте новий модуль.
Крок 4) Ініціалізуйте нову підпрограму та назвіть її test2.
Sub test2() End sub
У модулі будуть такі результати: –
Крок 5) Перейдіть до опції посилання на вкладці інструментів і посилання Selenium бібліотека типів. Наступні бібліотеки слід посилати на модуль, оскільки він допомагає відкривати google chrome і полегшує розробку сценаріїв макросів.
Тепер файл Excel готовий до взаємодії з Internet Explorer. Наступним кроком буде включення макроскрипта, який полегшить обробку даних.ping у HTML.
Як відкрити Google Chrome за допомогою VBA?
Ось крок, щоб відкрити Google Chrome за допомогою VBA
Крок 1) Оголошіть та ініціалізуйте змінні в підпрограмі, як показано нижче
Sub test2() Dim driver as new webdriver Dim rowc, cc, columnC as integer
Крок 2) Щоб відкрити google chrome за допомогою selenium і VBA, напишіть driver.start «chrome» і натисніть F5.
Наступним буде код.
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
Модуль матиме такий результат: –
Як відкрити веб-сайт у Google Хром за допомогою VBA?
Щойно ви зможете отримати доступ до Google Chrome за допомогою VBA, наступним кроком буде включення доступу до веб-сайту за допомогою VBA. Це полегшується функцією get, де URL має передаватися як подвійні лапки в атрибуті.
Виконайте наведені нижче дії
Модуль виглядатиме так: –
Натисніть F5, щоб виконати макрос.
Наступну веб-сторінку буде відкрито в google chrome, як показано
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
Тепер макрос Excel готовий до виконання операції scraping.ping завдання. Наступний крок покаже, як можна використати інформаціюtracвиготовлено шляхом застосування селену та VBA.
Як отримати інформацію з веб-сайту за допомогою VBA?
Припустимо, денний трейдер хоче щодня отримувати доступ до даних із веб-сайту. Кожного разу, коли денний трейдер натискає кнопку, він повинен автоматично завантажувати ринкові дані в Excel.
На вищевказаному веб-сайті необхідно перевірити елемент і спостерігати, як структуровані дані. Отримайте доступ до наведеного нижче вихідного коду HTML, натиснувши Control + Shift + Я
<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>
Вихідний код буде таким: –
Як видно, дані структуровані як одна таблиця HTML. Таким чином, щоб витягнути дані з таблиці HTML, потрібно створити макрос, який витягує інформацію заголовка таблиці HTML і відповідні дані, пов’язані з таблицею. Виконайте такі завдання, як показано: –
Крок 1) Сформулюйте цикл for, який проходить через інформацію заголовка HTML як колекцію. Драйвер selenium має знайти інформацію заголовка таблиці HTML. Для цього ми використовуємо методи FindElementByClass() і FindElementByTag(), щоб виконати завдання, як показано
Модуль VBA виглядатиме так: –
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
Крок 2) Далі драйвер selenium знаходить дані таблиці, використовуючи подібний підхід, як згадано вище. Ви повинні написати такий код: –
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 виглядатиме так: –
Excel можна ініціалізувати за допомогою атрибута Range аркуша Excel або атрибута cell аркуша Excel. Щоб зменшити складність сценарію VBA, дані колекції ініціалізуються атрибутом клітинок Excel аркуша 2, наявного в робочій книзі. Крім того, атрибут text допомагає отримати текстову інформацію під тегом 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
Модуль vba виглядатиме так: –
Крок 3) Коли сценарій макросу буде готовий, передайте та призначте підпрограму кнопці excel і вийдіть із модуля VBA. Позначте кнопку як оновити або будь-яку відповідну назву, яку можна ініціалізувати. У цьому прикладі кнопка ініціалізована як оновлення.
Крок 4) Натисніть кнопку оновлення, щоб отримати згаданий нижче результат
Крок 5) Порівняйте результати в excel з результатами google chrome
Резюме
- Selenium можна класифікувати як інструмент автоматизації, що полегшує скрапбукінгping інформації з веб-сторінок HTML для виконання веб-скрапінгуping за допомогою Google Chrome.
- Подряпинаping в інтернеті слід виконувати обережно.
- Зазвичай видалення інформації суперечить умовам веб-сайту.
- Коли подряпинаping виконується за допомогою селену, тоді він пропонує підтримку кількох браузерів.
- Іншими словами, скрепер може виконувати аналогічні завдання зі скребком.ping через Firefox, а також Internet Explorer.












