Урок 1. Введение в Selenium и автоматизацию браузера
В этом уроке мы разберём, что такое Selenium, зачем он нужен и как использовать его для автоматизации действий в браузере. Selenium — это инструмент, который позволяет программно управлять браузером: открывать страницы, нажимать кнопки, вводить текст и собирать данные.
Зачем нужен Selenium
- Автотестирование — проверка работы сайтов и веб-приложений.
- Парсинг — извлечение данных с динамических сайтов, где используется JavaScript.
- Автоматизация — выполнение рутинных действий (автологин, заполнение форм, переход по страницам).
Как работает Selenium
Selenium использует WebDriver — специальный драйвер для управления браузером.
Схема работы:
- Ваш скрипт запускает Selenium.
- Selenium управляет WebDriver (например, ChromeDriver).
- 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.
