Управление браузером из терминала
Автоматизирует настоящий браузер через playwright-cli: переходы, формы, снимки, скриншоты, извлечение данных и отладка сценариев.
- Что делает
- Автоматизирует настоящий браузер через playwright-cli: переходы, формы, снимки, скриншоты, извлечение данных и отладка сценариев.
- Когда брать
- Когда нужно из терминала открывать страницы, заполнять формы, делать скриншоты или отлаживать сценарии интерфейса.
- Когда не брать
- Если нужны файлы автотестов @playwright/test: скилл про команды CLI, а не про тесты.
- Пример запроса
- Открой сайт, заполни форму входа тестовыми данными и сделай скриншот результата.
- Нужно подключить
- терминал, Node.js и npx
Как включить
- Скачайте архив и распакуйте его.
- Положите папку
playwrightв~/.agents/skills/. - Вызовите скилл командой
$playwrightили найдите его через/skills.
Текст
---
name: "playwright"
description: "Используй, когда задача требует автоматизировать настоящий браузер из терминала (переход по страницам, заполнение форм, снимки состояния, скриншоты, извлечение данных, отладка сценариев интерфейса) через `playwright-cli` или входящий в комплект скрипт-обёртку."
---
Скилл «Playwright CLI»
Управляй настоящим браузером из терминала с помощью playwright-cli. Предпочитай входящий в комплект скрипт-обёртку, чтобы CLI работал, даже если он не установлен глобально. Считай этот скилл автоматизацией через CLI в первую очередь. Не переходи на @playwright/test, если пользователь прямо не просит файлы тестов.
Проверка предварительных условий (обязательно)
Прежде чем предлагать команды, проверь, доступен ли npx (обёртка зависит от него):
command -v npx >/dev/null 2>&1
Если он недоступен, остановись и попроси пользователя установить Node.js/npm (они предоставляют npx). Передай эти шаги дословно:
# Verify Node/npm are installed
node --version
npm --version
# If missing, install Node.js/npm, then:
npm install -g @playwright/cli@latest
playwright-cli --help
Когда npx есть, переходи к скрипту-обёртке. Глобальная установка playwright-cli необязательна.
Путь к скиллу (задай один раз)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
Пользовательские скиллы устанавливаются в $CODEX_HOME/skills (по умолчанию ~/.codex/skills).
Быстрый старт
Используй скрипт-обёртку:
"$PWCLI" open https://playwright.dev --headed
"$PWCLI" snapshot
"$PWCLI" click e15
"$PWCLI" type "Playwright"
"$PWCLI" press Enter
"$PWCLI" screenshot
Если пользователь предпочитает глобальную установку, это тоже допустимо:
npm install -g @playwright/cli@latest
playwright-cli --help
Основной рабочий процесс
- Открой страницу.
- Сделай снимок (snapshot), чтобы получить стабильные ссылки на элементы.
- Взаимодействуй, используя ссылки из последнего снимка.
- Делай новый снимок после перехода или существенных изменений DOM.
- Сохраняй артефакты (скриншот, pdf, трассировки), когда это полезно.
Минимальный цикл:
"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshot
Когда снова делать снимок
Делай новый снимок после:
- перехода на другую страницу
- нажатий на элементы, которые существенно меняют интерфейс
- открытия и закрытия модальных окон или меню
- переключения вкладок
Ссылки могут устаревать. Если команда не выполняется из-за отсутствующей ссылки, сделай снимок заново.
Рекомендуемые приёмы
Заполнение и отправка формы
"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "user@example.com"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshot
Отладка сценария интерфейса с трассировками
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop
Работа с несколькими вкладками
"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshot
Скрипт-обёртка
Скрипт-обёртка использует npx --package @playwright/cli playwright-cli, поэтому CLI может работать без глобальной установки:
"$PWCLI" --help
Предпочитай обёртку, если репозиторий не стандартизирован на глобальную установку.
Справочники
Открывай только то, что нужно:
- Справочник команд CLI:
references/cli.md - Практические рабочие процессы и устранение неполадок:
references/workflows.md
Ограничения
- Всегда делай снимок, прежде чем ссылаться на идентификаторы элементов вроде
e12. - Делай новый снимок, если ссылки кажутся устаревшими.
- Предпочитай явные команды вместо
evalиrun-code, пока они не необходимы. - Если свежего снимка нет, используй ссылки-заглушки вроде
eXи объясни почему; не обходи ссылки черезrun-code. - Используй
--headed, когда визуальная проверка будет полезна. - Сохраняя артефакты в этом репозитории, используй
output/playwright/и не заводи новых папок артефактов верхнего уровня. - По умолчанию используй команды и процессы CLI, а не спецификации тестов Playwright.
Перевод: iiuniversitet. Оригинал: https://github.com/openai/skills/tree/main/skills/.curated/playwright, лицензия Apache-2.0. Изменения: перевод на русский язык.
Оригинал на английском
---
name: "playwright"
description: "Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script."
---
# Playwright CLI Skill
Drive a real browser from the terminal using `playwright-cli`. Prefer the bundled wrapper script so the CLI works even when it is not globally installed.
Treat this skill as CLI-first automation. Do not pivot to `@playwright/test` unless the user explicitly asks for test files.
## Prerequisite check (required)
Before proposing commands, check whether `npx` is available (the wrapper depends on it):
```bash
command -v npx >/dev/null 2>&1
```
If it is not available, pause and ask the user to install Node.js/npm (which provides `npx`). Provide these steps verbatim:
```bash
# Verify Node/npm are installed
node --version
npm --version
# If missing, install Node.js/npm, then:
npm install -g @playwright/cli@latest
playwright-cli --help
```
Once `npx` is present, proceed with the wrapper script. A global install of `playwright-cli` is optional.
## Skill path (set once)
```bash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
```
User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
## Quick start
Use the wrapper script:
```bash
"$PWCLI" open https://playwright.dev --headed
"$PWCLI" snapshot
"$PWCLI" click e15
"$PWCLI" type "Playwright"
"$PWCLI" press Enter
"$PWCLI" screenshot
```
If the user prefers a global install, this is also valid:
```bash
npm install -g @playwright/cli@latest
playwright-cli --help
```
## Core workflow
1. Open the page.
2. Snapshot to get stable element refs.
3. Interact using refs from the latest snapshot.
4. Re-snapshot after navigation or significant DOM changes.
5. Capture artifacts (screenshot, pdf, traces) when useful.
Minimal loop:
```bash
"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshot
```
## When to snapshot again
Snapshot again after:
- navigation
- clicking elements that change the UI substantially
- opening/closing modals or menus
- tab switches
Refs can go stale. When a command fails due to a missing ref, snapshot again.
## Recommended patterns
### Form fill and submit
```bash
"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "user@example.com"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshot
```
### Debug a UI flow with traces
```bash
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop
```
### Multi-tab work
```bash
"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshot
```
## Wrapper script
The wrapper script uses `npx --package @playwright/cli playwright-cli` so the CLI can run without a global install:
```bash
"$PWCLI" --help
```
Prefer the wrapper unless the repository already standardizes on a global install.
## References
Open only what you need:
- CLI command reference: `references/cli.md`
- Practical workflows and troubleshooting: `references/workflows.md`
## Guardrails
- Always snapshot before referencing element ids like `e12`.
- Re-snapshot when refs seem stale.
- Prefer explicit commands over `eval` and `run-code` unless needed.
- When you do not have a fresh snapshot, use placeholder refs like `eX` and say why; do not bypass refs with `run-code`.
- Use `--headed` when a visual check will help.
- When capturing artifacts in this repo, use `output/playwright/` and avoid introducing new top-level artifact folders.
- Default to CLI commands and workflows, not Playwright test specs.
Источник: openai/skills / playwright ↗. Ссылка проверена 2026-10-10.