В ході своєї роботи я пишу багато парсерів інформації з сайтів. Спочатку я це робив на php, але потім прогресивні сайти з великою кількістю javascript’a, або взагалі SPA, змусили мене перейти на Selenium(python).

Selenium – це потужний інструмент для автоматизації веб-браузера, який надає розробникам можливість взаємодіяти з веб-елементами та виконувати різноманітні дії на веб-сторінках. Написаний мовою Python, Selenium є одним з найпопулярніших фреймворків для тестування веб-додатків та автоматизації рутинних завдань на веб-сайтах.

Основною перевагою Selenium є його здатність емулювати поведінку користувача в браузері, що дозволяє автоматизувати тестування веб-додатків так, ніби це робить сам користувач. Це означає, що ви можете автоматично виконувати такі дії, як натискання на кнопки, заповнення форм, навігація по сторінках і взаємодія зі складними веб-елементами.

Однією з ключових складових Selenium є WebDriver, який взаємодіє з веб-браузером і дозволяє виконувати різні дії на веб-сторінці.

Для початку роботи з Selenium потрібно встановити саму бібліотеку, а також драйвер вибраного веб-браузера. Після цього ви можете створити інстанс WebDriver і почати взаємодіяти зі сторінками в Інтернеті. Наприклад, такий код у Python відкриє Google у веб-браузері:

from selenium import webdriver

# Шлях до встановленого драйвера браузера
service = Service(config['CHROMEDRIVER'])
options = webdriver.ChromeOptions()

# Створення інстансу веб-браузера (зазвичай Firefox або Chrome)
browser = webdriver.Chrome(service=service, options=options)

# Відкриття веб-сторінки
browser.get("https://www.google.com")

Після відкриття сторінки ви можете використовувати різні методи WebDriver для взаємодії з веб-елементами, такими як знаходження елементів за CSS-селекторами, класами, id тощо, або навіть виконувати скрипти JavaScript.

Selenium також підтримує роботу з кукісами, роботу з вкладками браузера, роботу з формами, введення тексту та багато іншого. Це робить його потужним інструментом для автоматизації рутинних завдань та тестування веб-додатків.

Загалом, Selenium у поєднанні з Python надає зручний та ефективний спосіб автоматизації браузерних дій. Він дозволяє розробникам швидко створювати скрипти для взаємодії з веб-додатками та тестування їх, що робить його невід’ємною частиною інструментарію будь-якого розробника, який працює з веб-технологіями.

Ситуація з якою я зіткнувся полягала у наступному: я написав парсер, що запускає вікно chrome, збирає необхідну інформацію і йде за наступним посиланням. Цей скріпт працює на сервері DigitalOcean, а значить реального монітору немає.

І саме в цій ситуації мені стала в нагоді бібліотека pyvirtualdisplay. Вона емулює монітор з заданими параметрами. Ось приклад її підключення та використання:

from pyvirtualdisplay import Display
display = Display(visible=0, size=(1360, 768))
display.start()

Все, в вас є віртуальний монітор. Все так просто, сподіваюсь ця стаття стала вам в нагоді.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *