Playwright CLI — браузерная автоматизация для AI-агентов
📂 Исходный код на GitHubCLI-инструмент от Microsoft для управления браузером через Playwright, оптимизированный для использования coding agents. Включает установку скиллов, управление сессиями, визуальную панель мониторинга и полный набор команд для автоматизации.
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]— открыть браузер, опционально перейти по URLplaywright-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/reloadplaywright-cli press <key>— нажать клавишу (например,Enter,arrowleft)playwright-cli mousemove <x> <y>— переместить мышь
Скриншоты и PDF:
playwright-cli screenshot [ref]— скриншот страницы или элементаplaywright-cli screenshot --filename=f --hiresplaywright-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— запись traceplaywright-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) - Записи и анализа видео сессий браузера