# Playwright CLI 技能
使用 `playwright-cli` 从终端驱动真实浏览器。优先使用捆绑的包装脚本,以确保 CLI 在未全局安装时也能正常工作。
将此技能视为 CLI 优先的自动化工具。除非用户明确要求测试文件,否则不要转向 `@playwright/test`。
## 前置条件检查 (必需)
在建议命令之前,检查 `npx` 是否可用(包装脚本依赖于它):
bash
command -v npx >/dev/null 2>&1
如果不可用,请暂停并要求用户安装 Node.js/npm(它提供了 `npx`)。请逐字提供以下步骤:
bash
# 验证 Node/npm 是否已安装
node --version
npm --version
# 如果缺失,请安装 Node.js/npm,然后执行:
npm install -g @playwright/cli@latest
playwright-cli --help
一旦 `npx` 可用,继续使用包装脚本。全局安装 `playwright-cli` 是可选的。
## 技能路径 (设置一次)
bash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
用户范围的技能安装在 `$CODEX_HOME/skills` 下 (默认: `~/.codex/skills`)。
## 快速开始
使用包装脚本:
bash
"$PWCLI" open https://playwright.dev --headed
"$PWCLI" snapshot
"$PWCLI" click e15
"$PWCLI" type "Playwright"
"$PWCLI" press Enter
"$PWCLI" screenshot
如果用户更喜欢全局安装,这也是有效的:
bash
npm install -g @playwright/cli@latest
playwright-cli --help
## 核心工作流
1. 打开页面。
2. 执行快照 (snapshot) 以获取稳定的元素引用。
3. 使用最新快照中的引用进行交互。
4. 在导航或显著的 DOM 变化后重新执行快照。
5. 在需要时捕获工件(截图、PDF、追踪记录)。
最小循环:
bash
"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshot
## 何时重新执行快照
在以下情况后重新执行快照:
- 页面导航
- 点击导致 UI 发生重大变化的元素
- 打开/关闭模态框或菜单
- 切换标签页
引用可能会过期。当命令因缺少引用而失败时,请重新执行快照。
## 推荐模式
### 表单填充与提交
bash
"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "
[email protected]"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshot
### 使用追踪记录调试 UI 流程
bash
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...交互...
"$PWCLI" tracing-stop
### 多标签页工作
bash
"$PWCLI" tab-new https://e