Урок 1. Введение в Selenium и автоматизацию браузера

В этом уроке мы разберём, что такое Selenium, зачем он нужен и как использовать его для автоматизации действий в браузере. Selenium — это инструмент, который позволяет программно управлять браузером: открывать страницы, нажимать кнопки, вводить текст и собирать данные.

Зачем нужен Selenium

  • Автотестирование — проверка работы сайтов и веб-приложений.
  • Парсинг — извлечение данных с динамических сайтов, где используется JavaScript.
  • Автоматизация — выполнение рутинных действий (автологин, заполнение форм, переход по страницам).

Как работает Selenium

Selenium использует WebDriver — специальный драйвер для управления браузером.
Схема работы:

  1. Ваш скрипт запускает Selenium.
  2. Selenium управляет WebDriver (например, ChromeDriver).
  3. WebDriver управляет браузером и выполняет действия как реальный пользователь.

Плюсы и минусы Selenium

Плюсы:

  • Работает с реальным браузером.
  • Поддерживает динамические сайты.
  • Большой набор функций для управления страницей.

Минусы:

  • Медленнее, чем парсинг через requests + BeautifulSoup.
  • Сложнее масштабировать.
  • Нужен установленный браузер и драйвер.

Установка Selenium

Установим Selenium и webdriver-manager для автоматической загрузки драйвера:

pip install selenium webdriver-manager

Пример кода: открытие сайта

Запустим браузер, откроем страницу и выведем её заголовок:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time

# Запуск Chrome с webdriver-manager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# --- Настройка Selenium ---
options = webdriver.ChromeOptions()
# options.add_argument('--headless') # Управляет видимостью окна браузера

try:
    # Открываем сайт
    driver.get("https://parsertools.ru")
    time.sleep(10)  # небольшая пауза
    # Получаем заголовок страницы
    print("Title страницы:", driver.title)
finally:
    driver.quit()  # закрываем браузер

Что важно помнить

  • Используйте webdriver-manager, чтобы не скачивать ChromeDriver вручную.
  • time.sleep() удобно в примерах, но лучше применять WebDriverWait.
  • Не забывайте завершать работу с помощью driver.quit().

Типичные ошибки

  • NoSuchElementException — неверный селектор, используйте ожидания.
  • StaleElementReferenceException — элемент изменился, нужно найти его заново.
  • WebDriver не запускается — проверьте версию браузера и драйвера.

Итог

Теперь вы знаете, что такое Selenium и как он работает. В следующих уроках мы разберём поиск элементов, работу с формами и ожидания.

Больше уроков по парсингу на parsertools.ru/lessons.