playwright
通过Playwright CLI在终端驱动真实浏览器进行自动化操作,适用于测试、爬虫等场景,无需全局安装。
npx skills add openai/skills --skill playwrightBefore / After 效果对比
1 组自动化浏览器操作通常需要复杂的环境配置和依赖安装,上手门槛高,且难以在不同环境间移植。
借助Playwright CLI,无需全局安装即可在终端驱动真实浏览器,轻松实现自动化测试和爬虫任务。
playwright
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):
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:
# 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)
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:
"$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:
npm install -g @playwright/cli@latest
playwright-cli --help
Core workflow
-
Open the page.
-
Snapshot to get stable element refs.
-
Interact using refs from the latest snapshot.
-
Re-snapshot after navigation or significant DOM changes.
-
Capture artifacts (screenshot, pdf, traces) when useful.
Minimal loop:
"$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
"$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
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop
Multi-tab work
"$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:
"$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
evalandrun-codeunless needed. -
When you do not have a fresh snapshot, use placeholder refs like
eXand say why; do not bypass refs withrun-code. -
Use
--headedwhen 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.
Weekly Installs691Repositoryopenai/skillsGitHub Stars14.5KFirst SeenFeb 1, 2026Security AuditsGen Agent Trust HubFailSocketPassSnykFailInstalled oncodex606opencode559gemini-cli517github-copilot493cursor475kimi-cli473
用户评价 (0)
发表评价
暂无评价
统计数据
用户评分
为此 Skill 评分