Playwright CLI — браузерная автоматизация для AI-агентов

· 2 мин чтения
playwright browser-automation cli coding-agents testing
📂 Исходный код на GitHub

CLI-инструмент от Microsoft для управления браузером через Playwright, оптимизированный для использования coding agents. Включает установку скиллов, управление сессиями, визуальную панель мониторинга и полный набор команд для автоматизации.

Playwright CLI — браузерная автоматизация для AI-агентов

Playwright CLI — это CLI-инструмент от Microsoft для управления браузером через Playwright. В отличие от Playwright MCP, он спроектирован специально для coding agents (Claude Code, GitHub Copilot и других) с упором на токен-эффективность. Весь функционал доступен через простые bash-команды, что снижает расход контекста по сравнению с MCP-схемами.

Playwright CLI vs Playwright MCP

CLI-подход выигрывает у MCP по токен-эффективности: вместо загрузки громоздких схем инструментов и accessibility-деревьев в контекст модели, агент просто вызывает playwright-cli goto <url> или playwright-cli click e15. Это особенно важно для агентов, которые балансируют браузерную автоматизацию с работой над большими кодовыми базами, тестами и рассуждениями в ограниченном окне контекста.

MCP, в свою очередь, остаётся релевантным для специализированных сценариев: исследовательская автоматизация, самовосстанавливающиеся тесты, длительные автономные рабочие процессы, где постоянный контекст браузера перевешивает затраты токенов.

Установка и настройка

Устанавливается глобально через npm:

npm install -g @playwright/cli@latest
playwright-cli --help

После установки можно активировать скиллы для агента:

playwright-cli install --skills

Агенты вроде Claude Code автоматически подхватывают установленные скиллы. Можно также работать без скиллов — просто указать агенту: «Test the add todo flow using playwright-cli. Check playwright-cli --help for available commands».

Основные команды

Управление браузером:

  • playwright-cli open [url] — открыть браузер, опционально перейти по URL
  • playwright-cli goto <url> — перейти на страницу
  • playwright-cli close — закрыть страницу
  • playwright-cli snapshot — получить слепок страницы для refs элементов

Взаимодействие с элементами:

  • playwright-cli click <ref> [button] — клик по элементу
  • playwright-cli type <text> — ввод текста
  • playwright-cli fill <ref> <text> — заполнение поля
  • playwright-cli select <ref> <val> — выбор опции из выпадающего списка
  • playwright-cli check <ref> / uncheck <ref> — отметить/снять чекбокс
  • playwright-cli hover <ref> — навести курсор
  • playwright-cli drag <startRef> <endRef> — перетаскивание

Навигация и клавиатура:

  • playwright-cli go-back / go-forward / reload
  • playwright-cli press <key> — нажать клавишу (например, Enter, arrowleft)
  • playwright-cli mousemove <x> <y> — переместить мышь

Скриншоты и PDF:

  • playwright-cli screenshot [ref] — скриншот страницы или элемента
  • playwright-cli screenshot --filename=f --hires
  • playwright-cli pdf — сохранить страницу как PDF

Вкладки:

  • playwright-cli tab-list / tab-new [url] / tab-close [index] / tab-select <index>

Сеть и отладка:

  • playwright-cli route <pattern> [opts] — перехват и мокирование запросов
  • playwright-cli console [min-level] — просмотр консольных сообщений
  • playwright-cli requests — список сетевых запросов
  • playwright-cli tracing-start / tracing-stop — запись trace
  • playwright-cli video-start / video-chapter / video-stop — запись видео

Режимы открытия браузера

CLI поддерживает гибкую конфигурацию через параметры команды open:

playwright-cli open --browser=firefox         # выбор браузера
playwright-cli open --device="iPhone 15"      # эмуляция устройства
playwright-cli open --headed                  # показать браузер (по умолчанию headless)
playwright-cli open --persistent              # сохранять профиль на диск
playwright-cli open --profile=<path>          # кастомная директория профиля
playwright-cli attach --cdp=chrome            # подключение к запущенному браузеру

Управление сессиями

Можно запускать несколько изолированных сессий браузера для разных проектов:

playwright-cli -s=project1 open https://example.com
playwright-cli -s=project2 open https://test.com --persistent
playwright-cli list                     # список сессий
playwright-cli close-all                # закрыть все сессии
playwright-cli kill-all                 # принудительно завершить все процессы

Переменная окружения PLAYWRIGHT_CLI_SESSION позволяет привязать агента к конкретной сессии.

Визуальная панель мониторинга

Команда playwright-cli show открывает веб-дашборд для наблюдения за всеми активными сессиями. Доступны два режима:

  • Session grid — сетка с живыми превью screencast, именем сессии, текущим URL и заголовком страницы
  • Session detail — детальный просмотр с управлением вкладками, навигацией (назад/вперёд/обновить, адресная строка) и полным удалённым управлением через клик в viewport

Работа с рефами

После каждого действия CLI возвращает слепок состояния браузера в YAML. Ref'ы из этого слепка можно использовать для последующих команд:

playwright-cli goto https://example.com
playwright-cli click e15               # клик по элементу с ref e15
playwright-cli snapshot "#main"        # слепок конкретного элемента по CSS
playwright-cli find "Add to cart"      # поиск текста в слепке

Также поддерживаются CSS-селекторы и Playwright locators:

playwright-cli click "getByRole('button', { name: 'Submit' })"
playwright-cli click "getByTestId('submit-button')"

Конфигурационный файл

Настройки можно задать в .playwright/cli.config.json. Поддерживаются:

  • Выбор браузера и его параметры (viewport, user agent, headless)
  • CDP-подключение к существующему браузеру
  • Работа через Playwright Extension
  • Настройки таймаутов и уровня логирования
  • Фильтрация разрешённых/заблокированных origin'ов
  • Сохранение видео и trace'ов

Для чего это нужно AI-разработчику

Playwright CLI решает конкретную проблему: дать coding agent'ам эффективный доступ к браузеру без раздувания контекста. Если MCP-сервер загружает в модель килобайты схем и accessibility-деревьев, то CLI просто вызывает одну команду и получает компактный YAML-слепок.

Инструмент особенно полезен для:

  • Автоматического тестирования UI через агентов
  • Снятия скриншотов в CI/CD пайплайнах
  • Исследовательского тестирования с AI-ассистентом
  • Генерации Playwright-тестов из описаний (через plan / generate / heal)
  • Записи и анализа видео сессий браузера

Источник: https://github.com/microsoft/playwright-cli