JavaRush /Курси /Python SELF UA /Вступ до автоматизації браузера з Selenium

Вступ до автоматизації браузера з Selenium

Python SELF UA
Рівень 35 , Лекція 0
Відкрита

1. Основи автоматизації браузера

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

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

Приклади використання Selenium

  • Тестування веб-застосунків: автоматизація тестів для перевірки функціональності та стійкості застосунку.
  • Веб-скрейпінг: отримання даних із динамічних і складних веб-сторінок, куди звичайні інструменти парсингу не дотягуються.
  • Масове розміщення контенту: автоматичне розміщення постів і коментарів на різних веб-сайтах.

Але будьте обережні: перевищення дозволеного ліміту запитів може призвести до блокування. Однак із Selenium у вас є можливість прикинутися добросовісним користувачем, тобто затримки, проксі та ротація user-agent допоможуть уникнути помилок.

2. Можливості Selenium у веб-скрейпінгу

Насправді, Selenium — це не просто інструмент для браузерів. Це саме те, що потрібно для роботи з динамічним контентом. Ви, мабуть, уже стикалися з веб-сторінками, які завантажують дані за допомогою JavaScript після завантаження сторінки. У цьому випадку прості HTML-аналоги не допоможуть, і тут у гру вступає Selenium. Він чекає, коли весь контент завантажиться, і отримує дані, як справжній ніндзя. І так, тут Selenium відкриває для нас двері, які стандартні інструменти для веб-скрейпінгу обходять стороною.

Як Selenium допомагає обійти обмеження

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

Не забувайте про безпеку! Якщо ваш браузер раптово починає поводитися як справжня машина, будьте впевнені, що це привернуло увагу адміністраторів. Не забувайте маскувати свої дії та не перевантажувати сервери запитами.

3. Вступ до Selenium

Прийшов час зануритися в деталі! Ми почнемо з встановлення Selenium та вивчення його основних можливостей.

Перш ніж почати, переконайтеся, що у вас встановлений Python. Якщо ні, то в нас буде серйозна розмова про те, чим ви займалися з вашою кар'єрою розробника!

Встановлення Selenium

Початок роботи з Selenium починається з його встановлення. Для цього використовується знайомий вам інструмент — pip. Ось команда, яку потрібно виконати в командному рядку:

Bash

pip install selenium

Тепер, коли Selenium затишно розташувався у вашій системі, ми можемо рухатися далі.

Налаштування веб-драйвера

Щоб Selenium міг керувати реальним браузером, йому потрібен "водій". Це програма, яка зв'язує Selenium із вашим браузером. Для Chrome це ChromeDriver, а для Firefox — GeckoDriver.

  1. Завантажте веб-драйвер з офіційного сайту відповідного браузера.
  2. Додайте шлях до драйвера у змінні середовища або вкажіть його прямо в коді.

Приклад підключення ChromeDriver:

Python

from selenium import webdriver

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

Не забудьте замінити /path/to/chromedriver на фактичний шлях до драйвера на вашому комп'ютері.

Безпека веб-драйвера

Завантажуючи драйвер, завантажуйте його тільки з офіційних сайтів браузерів (наприклад, для Chrome з https://sites.google.com/a/chromium.org/chromedriver/). Переконайтеся, що ваші драйвери оновлені й відповідають версії вашого браузера, інакше на вас чекають неприємні сюрпризи у вигляді помилок сумісності.

4. Основні дії у браузері

Прекрасна новина полягає в тому, що ви вже готові керувати браузером! Давайте розглянемо кілька основних дій, які ви можете виконати із Selenium.

Відкриття веб-сторінок

Ваш браузер відкритий! А тепер, за допомогою Selenium, ми можемо вирушити в подорож:

Python

driver.get('http://example.com')

Цей код відкриє сторінку з указаним URL у браузері. Швидко, чи не так? А для перемикання між вкладками і відкриття нових сторінок ви можете використовувати методи driver.switch_to.window() і driver.execute_script('window.open()').

Навігація по сторінках

Переходи на інші сторінки здійснюються легко:

Python

driver.get('http://another-example.com')

І ось ви вже на іншій веб-сторінці, немов ваш браузер — машина часу, готова відправити вас у майбутнє чи минуле Інтернету.

Коментарі (1)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
-_- Рівень 19
13 травня 2025
Поскільки на javarush приклад підключення ChromeDriver неактуальний то дам вам маленьку підсказку. Якщо у вас встановлено Selenium до 4 версії то у вас буде працювати параметр executable_path але якщо у вас Selenium 4.x і вище то executable_path більше не використовується напряму у webdriver.Chrome() і тому замість нього потрібно використовувати наступне # Шлях до chromedriver.exe service = Service(С:User\path\to\chromedriver') # Запуск браузера driver = webdriver.Chrome(service=service) PS Ось як виглядає сама помилка unexpected keyword argument 'executable_path'