Гид по технологиям

Selenium WebDriver на Python — установка и настройка

8 min read Тестирование Обновлено 05 Apr 2026
Selenium WebDriver на Python — установка
Selenium WebDriver на Python — установка

Использование Selenium с Python для автоматизации браузера

Автоматизация стала неотъемлемой частью разработки ПО. Вместо ручных действий тестировщики и разработчики используют фреймворки, которые выполняют повторяющиеся задачи несколькими строками кода.

Selenium — один из таких инструментов для автоматизированного тестирования веб-приложений. В его составе есть несколько компонентов; наиболее важный для взаимодействия с браузерами — Selenium WebDriver. В этой статье — вводная информация о Selenium и подробное руководство по установке и настройке Selenium WebDriver для Python на трёх популярных ОС.

Что такое Selenium

Selenium — это фреймворк с открытым исходным кодом для автоматизированного тестирования веб-приложений в разных браузерах и на разных платформах. Он поддерживает несколько языков программирования: Java, C#, Python, Perl и другие.

Ключевые компоненты Selenium:

  • Selenium IDE — интегрированная среда разработки для записи простых тестов.
  • Selenium Remote Control — устаревший компонент для удалённого управления браузером.
  • Selenium WebDriver — API для программного управления браузерами (основной объект нашей статьи).
  • Selenium Grid — распределённое выполнение тестов на множествах машин/контейнеров.

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

Краткое определение: Selenium WebDriver — библиотека для программного управления браузером через нативные интерфейсы браузера.

Кому полезно это руководство

  • Тестировщикам, которые хотят запускать автоматические UI-тесты.
  • Разработчикам, которым нужно воспроизводить шаги пользователя автоматически.
  • Аналитикам и специалистам по безопасности для автоматизации проверок и сканирования.

Установка Selenium WebDriver для Python

Перед установкой Selenium необходимо иметь установленный Python (рекомендуется версия 3.7+). Далее — инструкции по каждой ОС с командами и полезными подсказками.

На Windows

  1. Скачайте Python с официального сайта и установите его: выберите установку для всех пользователей или добавьте Python в PATH в процессе установки.

    Ссылки: официальный сайт Python.

  2. Откройте PowerShell или Командную строку (cmd) и установите Selenium через pip:

pip install selenium

Если pip не распознаётся, вызовите его через модуль Python:

python -m pip install --upgrade pip
python -m pip install selenium

Советы и альтернативы:

  • Если у вас установлено несколько версий Python, используйте явный вызов: py -3 -m pip install selenium
  • Рекомендуется создать виртуальное окружение (venv):
python -m venv venv
venv\Scripts\activate
pip install selenium

На Linux

Установите Python с помощью пакетного менеджера дистрибутива.

  • Debian / Ubuntu:
sudo apt-get update
sudo apt-get install python3 python3-venv python3-pip
  • Arch Linux:
sudo pacman -S python python-pip
  • Fedora:
sudo dnf install python3 python3-pip
  • CentOS / RHEL (может потребоваться EPEL или Software Collections):
sudo yum install python3

Затем установите Selenium:

python3 -m pip install --upgrade pip
python3 -m pip install selenium

Рекомендуется работать в виртуальном окружении и фиксировать зависимости в requirements.txt:

pip freeze > requirements.txt

На macOS

  1. Установите Python: скачайте официальный .pkg с python.org или установите через Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python
  1. Установите Selenium:
python3 -m pip install --upgrade pip
python3 -m pip install selenium
  1. В macOS удобно использовать pyenv для управления версиями Python.

Настройка WebDriver (драйвера браузера)

Чтобы WebDriver мог управлять браузером, нужно скачать соответствующий исполняемый файл (драйвер) и сделать его доступным в PATH или указать путь к нему в коде.

Selenium поддерживает основные браузеры: Google Chrome, Firefox, Microsoft Edge, Safari. Официальные вебдрайверы:

Driver NameSupported BrowserDownload

| ChromeDriver | Google Chrome | Загрузка | GeckoDriver | Firefox | Загрузка | Edge WebDriver | Microsoft Edge | Загрузка | SafariDriver | Apple Safari | Загрузка

Важно: для каждого драйвера выбирайте версию, совместимую с вашей версией браузера. Например, ChromeDriver имеет привязку к версии Chrome.

Замечание: SafariDriver встроен в macOS для Safari (включается в меню разработчика), для него часто не требуется отдельный загрузочный файл.

Общие рекомендации по месту установки драйвера

  • На CI/CD и серверах часто собирают драйвер в контейнере или кладут в системные каталоги (/usr/local/bin на Unix-подобных системах).
  • На рабочей станции можно поместить драйвер в папку проекта или в фиксированное место и добавить этот путь в PATH.

На Windows — добавление драйвера в PATH

  1. Скачайте нужный драйвер и распакуйте ZIP.
  2. Скопируйте исполняемый файл webdriver (например, chromedriver.exe) в каталог, где будете хранить утилиты, или прямо в каталог проекта.
  3. Скопируйте полный путь до исполняемого файла.
  4. Откройте Проводник, выберите Этот компьютер, правой кнопкой — Свойства, затем Дополнительные параметры системы.

Окно свойств

  1. Нажмите Изменить параметры и откройте вкладку Дополнительно, затем Переменные среды.

Параметры Windows: изменение настроек системы

  1. В разделе Системные переменные найдите Path и нажмите Изменить.

Окно Переменные среды — редактирование Path

  1. Нажмите Создать (New) и вставьте путь к драйверу.

Добавление нового значения в переменную Path

  1. Подтвердите изменения кнопкой ОК и откройте новый терминал.

Вставка пути драйвера в переменную PATH в Windows

Проверка: в новом окне командной строки введите имя драйвера, например:

chromedriver

Если всё настроено, драйвер запустится и покажет версию. Если появляется ошибка “‘chromedriver’ is not recognized as an internal or external command”, проверьте правильность пути.

На Linux — добавление драйвера в PATH

  1. Скачайте и распакуйте драйвер.
  2. Скопируйте исполняемый файл в удобный каталог, например /usr/local/bin или /opt/webdrivers.

Пример с использованием домашнего профиля:

# распаковка и копирование
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver

Альтернативный вариант — добавить директорию в PATH в .profile или .bashrc:

sudo nano /home/username/.profile
# в конце файла добавить
export PATH=$PATH:/pathtodriver

Примените изменения: source ~/.profile или откройте новый терминал.

На macOS — добавление драйвера в PATH

  1. Скачайте и распакуйте драйвер.
  2. Скопируйте исполняемый файл в /usr/local/bin или добавьте директорию в системный файл путей:
sudo nano /etc/paths
# добавить в конец: /path/to/driver
  1. Сохраните и закройте редактор, откройте новый терминал и проверьте:
chromedriver --version

Если терминал возвращает версию — драйвер доступен.

Простой пример автоматизации (Python)

Ниже — минимальный пример, который запускает браузер, открывает страницу и выводит заголовок страницы.

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# Пример для Chrome (если chromedriver в PATH)
driver = webdriver.Chrome()
try:
    driver.get('https://example.com')
    time.sleep(1)  # короткая пауза для загрузки
    title = driver.title
    print('Заголовок страницы:', title)
finally:
    driver.quit()

Примечания:

  • В новых версиях Selenium (4.x) можно использовать менеджеры драйверов, чтобы не скачивать драйвер вручную (см. распараграф ниже об альтернативных подходах).
  • Для поиска элементов используйте методы find_element(By.ID, ‘id’) и другие стратегии из selenium.webdriver.common.by.

Альтернативы ручной загрузке драйвера

  • webdriver-manager (пакеты, которые автоматически скачивают совместимый драйвер):
pip install webdriver-manager

Пример использования с webdriver-manager:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
  • В контейнерах и CI/CD можно использовать образы с уже установленными браузерами и драйверами (Selenium Grid, Docker-образы selenium/standalone).

Преимущество менеджера драйверов — упрощение установки и совместимость версий, но для корпоративных окружений иногда требуется ручное управление версиями.

Частые ошибки и способы их исправления

  • “chromedriver is not recognized” — путь к драйверу не добавлен в PATH или терминал открыт до внесения изменений. Откройте новый терминал.
  • Несовместимость версий — версия ChromeDriver должна соответствовать версии Chrome. Решение: обновить браузер или скачать подходящую версию драйвера.
  • Permission denied на Unix — недостаточно прав на выполнение: выполните chmod +x chromedriver и убедитесь, что файл в каталоге, доступном пользователю.
  • Selenium не может найти элемент — используйте явные ожидания (WebDriverWait) вместо time.sleep для стабильности тестов.

Пример явного ожидания:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, 'element_id'))
)

Роли и чек-листы (быстрая проверка перед запуском тестов)

Разработчик / тестировщик:

  • Установлен Python и виртуальное окружение.
  • Установлен Selenium в окружении (pip list содержит selenium).
  • Драйвер скачан и доступен в PATH или используется webdriver-manager.
  • Версия драйвера совместима с браузером.
  • Браузер обновлён или фиксирован для стабильности тестов.
  • Настроены явные ожидания и обработка исключений в тестах.

Инженер CI/CD:

  • Контейнер или runner содержит браузер и драйвер.
  • Параметры запуска (headless, дисплей) настроены.
  • Логи тестов собираются и доступны для анализа.

Системный администратор:

  • Права доступа к директории драйверов настроены корректно.
  • Обновления браузеров и драйверов согласованы с командами разработки.

Методология простого рабочего процесса (mini-SOP)

  1. Создайте виртуальное окружение и установите зависимости (requirements.txt).
  2. Добавьте в репозиторий небольшую README с инструкцией по установке драйвера локально.
  3. В тестах используйте параметризацию браузера и конфигурационный файл для указания пути к драйверу.
  4. Настройте CI для запуска тестов в headless-режиме или на Selenium Grid.
  5. Собирайте артефакты логов и скриншотов при падениях тестов.

Безопасность и конфиденциальность

  • Не храните исполняемые драйверы с правами на запись в каталогах, доступных всем пользователям.
  • При автоматизации страниц с аутентификацией используйте безопасные хранилища секретов (не храните пароли в коде).
  • Для тестирования приватных ресурсов используйте тестовые учётные записи и ограниченные права.

Критерии приёмки

  • Selenium успешно установлен в виртуальном окружении и импортируется в скрипте.
  • WebDriver запускается и открывает браузер без ошибок.
  • Простой тест (открыть страницу и прочитать заголовок) проходит локально.
  • На CI тесты проходят в headless-режиме или на Grid и возвращают стабильный статус ‘passed’.

Когда Selenium может не подойти

  • Если нужна высокая производительность парсинга без рендеринга JavaScript — лучше использовать специализированные библиотеки (requests + BeautifulSoup).
  • На очень большом масштабе (тысячи параллельных сессий) имеет смысл использовать специализированные решения и распределённые исполнители.

Советы по миграции и совместимости

  • При обновлении браузера сначала проверьте совместимость текущего драйвера с новой версией.
  • Используйте менеджеры версий браузеров и драйверов в CI для детерминированных результатов.
  • Для macOS и Safari проверьте, включён ли режим разработчика в Safari (Develop -> Allow Remote Automation).

Краткое резюме

Selenium WebDriver даёт мощный и гибкий интерфейс для автоматизации браузеров. Для работы с Python достаточно установить пакет selenium, загрузить подходящий драйвер и либо добавить его в PATH, либо использовать менеджер драйверов. Примеры, явные ожидания и проверка совместимости версий помогут сделать тесты стабильными.

Важно: поддерживайте документацию по локальному окружению и автоматизируйте установку драйверов в CI, чтобы избежать «работает у меня».

Если нужно, могу подготовить готовый репозиторий с примером проекта, requirements.txt и настройками для GitHub Actions или GitLab CI.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Быстрые настройки Nintendo Switch: как открыть и использовать
Гайды

Быстрые настройки Nintendo Switch: как открыть и использовать

Встроить субтитры в видео с Avidemux
Видео

Встроить субтитры в видео с Avidemux

Как перестать бояться камеры и начать снимать
Создание контента

Как перестать бояться камеры и начать снимать

Точки восстановления в Windows 11 — включение и создание
Windows

Точки восстановления в Windows 11 — включение и создание

Микропривычки: маленькие шаги к большим результатам
Саморазвитие

Микропривычки: маленькие шаги к большим результатам

Какая MOBA вам подходит
Игры

Какая MOBA вам подходит