用途:这是一个通用浏览器自动化技能,针对用户提出的自动化或测试需求,编写自定义 Playwright 代码并通过统一执行器运行,可用于测试页面、填写表单、截图、检查链接等任务。
主要能力:自动检测本地开发服务器(detectDevServers);编写脚本到 /tmp/playwright-test-*.js;默认使用可见浏览器(headless: false);支持多视口响应式测试、登录流程、表单提交、断链检查、截图与错误处理;提供 lib/helpers.js 辅助函数(safeClick、safeType、takeScreenshot、handleCookieBanner、extractTableData 等);支持通过环境变量注入自定义 HTTP 头(PW_HEADER_NAME/PW_HEADER_VALUE 或 PW_EXTRA_HEADERS)。
使用方式:首次运行 cd $SKILL_DIR && npm run setup 安装 Playwright 与 Chromium。执行流程为先检测服务器:cd $SKILL_DIR && node -e "require('./lib/helpers').detectDevServers().then(servers => console.log(JSON.stringify(servers)))",再写脚本到 /tmp,最后 cd $SKILL_DIR && node run.js /tmp/playwright-test-*.js。简单任务可用内联执行。URL 应参数化,放在脚本顶部常量或环境变量中。
适用场景:本地页面测试、响应式设计检查、登录与表单流程验证、链接检查、截图等。
限制与注意:脚本不要写入技能目录或用户项目;默认可见浏览器,仅在明确要求时用 headless;page.click() 不等待导航完成,需配合 waitForURL;选择器自动等待默认 30 秒;page.evaluate 在浏览器上下文运行,需显式传参;headless 与 headed 渲染存在差异;BrowserContext 之间 cookie/storage 不共享;测试、断言、动作超时是三种不同超时。高级 API 见 API_REFERENCE.md。