Playwright Python — справочник На главный сайт

Системные требования

Playwright для Python работает на всех основных операционных системах:

  • Windows — Windows 10/11, Windows Server 2019+
  • macOS — macOS 12 (Monterey) и новее
  • Linux — Ubuntu 20.04+, Debian 11+, Fedora 37+, Alpine 3.16+

Требования к Python: версия 3.8 или выше. Рекомендуется использовать Python 3.11+ для лучшей производительности.

Примечание: Playwright не поддерживает Python 2.x. Убедитесь, что у вас установлена актуальная версия Python 3.

Установка пакета pytest-playwright

Самый удобный способ начать работу с Playwright в Python — установить пакет pytest-playwright, который включает саму библиотеку Playwright и плагин для интеграции с pytest:

# Установка через pip
pip install pytest-playwright

Если вам не нужна интеграция с pytest (например, вы используете unittest или хотите использовать Playwright как библиотеку), установите только ядро:

# Установка только библиотеки Playwright
pip install playwright

Совет: Всегда устанавливайте пакеты в виртуальное окружение. Это изолирует зависимости вашего проекта и предотвращает конфликты версий.

Установка браузеров

После установки Python-пакета необходимо скачать браузеры. Playwright использует собственные сборки Chromium, Firefox и WebKit, которые не зависят от установленных в системе браузеров:

# Установка всех браузеров (Chromium, Firefox, WebKit)
playwright install

Эта команда скачает браузеры в системную папку (обычно ~/.cache/ms-playwright на Linux/macOS или %USERPROFILE%\AppData\Local\ms-playwright на Windows). Общий размер загрузки — около 400–500 МБ для всех трёх браузеров.

Установка конкретного браузера

Если вам нужен только один браузер (например, только Chromium для CI-среды), вы можете установить его отдельно:

playwright install chromium
playwright install firefox
playwright install webkit

Системные зависимости для Linux

На Linux для корректной работы браузеров требуются дополнительные системные библиотеки. Playwright может установить их автоматически:

playwright install-deps

Внимание: Команда install-deps требует прав суперпользователя (sudo), так как устанавливает пакеты через системный пакетный менеджер (apt, yum, apk). В контейнерах Docker это обычно не требуется, так как зависимости уже включены в образ.

На Windows и macOS системные зависимости устанавливать не нужно — все необходимые библиотеки либо уже присутствуют в системе, либо включены в сборку браузера.

Установка в виртуальном окружении

Рекомендуемый способ организации проекта с Playwright:

# Создание виртуального окружения
python -m venv .venv

# Активация (Windows)
.venv\Scripts\activate

# Активация (macOS / Linux)
# source .venv/bin/activate

# Установка Playwright
pip install pytest-playwright

# Установка браузеров
playwright install

Совет: Добавьте папку .venv в файл .gitignore, чтобы не коммитить виртуальное окружение в репозиторий. Папку с браузерами (~/.cache/ms-playwright) также не нужно коммитить — её содержимое воспроизводится командой playwright install.

Проверка установки

Чтобы убедиться, что всё установлено корректно, выполните:

playwright --version

Вы должны увидеть номер версии, например:

Version 1.61.0

Также можно запустить простой скрипт, который открывает браузер и проверяет его работу:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto("https://playwright.dev")
    print(page.title())
    browser.close()

Если скрипт выполнился без ошибок и вывел заголовок страницы — установка прошла успешно.

Установка через Docker

Microsoft предоставляет официальные Docker-образы с предустановленным Playwright и всеми необходимыми зависимостями:

# Базовый образ с Playwright и Python
docker pull mcr.microsoft.com/playwright/python:v1.61.0

# Запуск тестов в контейнере
docker run -it --rm -v $(pwd):/tests mcr.microsoft.com/playwright/python:v1.61.0 pytest /tests

Доступны образы для разных версий Python и Playwright. Список тегов можно найти на Microsoft Container Registry.

Примечание: Docker-образы включают все три браузера (Chromium, Firefox, WebKit) и их системные зависимости. Это идеальный вариант для CI/CD-пайплайнов.

Установка в CI (GitHub Actions)

Пример настройки для GitHub Actions:

name: Playwright Tests
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.12"
      - run: pip install pytest-playwright
      - run: playwright install
      - run: playwright install-deps
      - run: pytest

Установка на Alpine Linux

На Alpine Linux (часто используется в минимальных Docker-образах) установка требует дополнительных шагов:

apk add --no-cache python3 py3-pip
pip install playwright
playwright install chromium
playwright install-deps

Часто задаваемые вопросы

Можно ли использовать установленный в системе браузер?

По умолчанию Playwright использует собственные сборки браузеров. Однако вы можете указать путь к системному браузеру через параметр executable_path при запуске. Это может быть полезно, если у вас ограничено дисковое пространство или вы хотите тестировать конкретную версию браузера.

Как обновить Playwright и браузеры?

pip install --upgrade playwright pytest-playwright
playwright install

Можно ли установить Playwright глобально?

Технически — да, но крайне не рекомендуется. Всегда используйте виртуальное окружение. Глобальная установка может привести к конфликтам зависимостей между разными проектами.

Ошибка «playwright: command not found»

Это означает, что утилита командной строки не добавлена в PATH. Убедитесь, что виртуальное окружение активировано. Если проблема остаётся, запустите python -m playwright install вместо playwright install.

python -m playwright install

Ошибка «BrowserType.launch: Executable doesn't exist»

Браузеры не установлены. Выполните playwright install (или python -m playwright install), чтобы скачать сборки браузеров.

Совет: После установки всех компонентов переходите к разделу Написание тестов, чтобы изучить основы создания тестов с Playwright.