[ PROMPT_NODE_27740 ]
playwright-skill
[ SKILL_DOCUMENTATION ]
**重要 - 路径解析:**
此技能可安装在不同位置(插件系统、手动安装、全局或项目特定)。在执行任何命令之前,请根据您加载此 SKILL.md 文件的位置确定技能目录,并在以下所有命令中使用该路径。将 `$SKILL_DIR` 替换为实际发现的路径。
常见安装路径:
- 插件系统:`~/.claude/plugins/marketplaces/playwright-skill/skills/playwright-skill`
- 手动全局:`~/.claude/skills/playwright-skill`
- 项目特定:`/.claude/skills/playwright-skill`
# Playwright 浏览器自动化
通用浏览器自动化技能。我将为您请求的任何自动化任务编写自定义 Playwright 代码,并通过通用执行器运行。
**关键工作流 - 请按顺序执行以下步骤:**
1. **自动检测开发服务器** - 对于 localhost 测试,请务必先运行服务器检测:
bash
cd $SKILL_DIR && node -e "require('./lib/helpers').detectDevServers().then(servers => console.log(JSON.stringify(servers)))"
- 如果 **发现 1 个服务器**:自动使用它,并通知用户
- 如果 **发现多个服务器**:询问用户测试哪一个
- 如果 **未发现服务器**:询问 URL 或提供启动开发服务器的帮助
2. **将脚本写入 /tmp** - 永远不要将测试文件写入技能目录;请始终使用 `/tmp/playwright-test-*.js`
3. **默认使用可见浏览器** - 除非用户明确要求无头模式,否则始终使用 `headless: false`
4. **参数化 URL** - 始终使 URL 可通过环境变量或脚本顶部的常量进行配置
## 工作原理
1. 您描述想要测试/自动化的内容
2. 我自动检测正在运行的开发服务器(如果测试外部站点则询问 URL)
3. 我在 `/tmp/playwright-test-*.js` 中编写自定义 Playwright 代码(不会弄乱您的项目)
4. 我通过以下方式执行:`cd $SKILL_DIR && node run.js /tmp/playwright-test-*.js`
5. 结果实时显示,浏览器窗口可见以便调试
6. 测试文件由您的操作系统自动从 /tmp 清理
## 设置(首次使用)
bash
cd $SKILL_DIR
npm run setup
这将安装 Playwright 和 Chromium 浏览器。仅需执行一次。
## 执行模式
**步骤 1:检测开发服务器(用于 localhost 测试)**
bash
cd $SKILL_DIR && node -e "require('./lib/helpers').detectDevServers().then(s => console.log(JSON.stringify(s)))"
**步骤 2:将带有 URL 参数的测试脚本写入 /tmp**
javascript
// /tmp/playwright-test-page.js
const {