浏览器自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/browser-automation-cn 到你的 AI 助手中。
技能介绍
解决什么问题
浏览器自动化脚本常见失败并不总来自逻辑错误,而是来自选择器脆弱、等待不可控和运行环境被识别。CSS、XPath 容易因页面微调失效;手动 waitForTimeout 会让测试时快时慢;多个用例共用上下文也会造成状态污染。这个技能把这些高频问题整理成可执行的工程规范。
如何工作
它围绕 Playwright 与 Puppeteer 的浏览器自动化实践,强调先理解页面如何被浏览器解析,再编写稳定脚本。关键能力包括:
- 用户面向定位器:优先使用
role、文本、标签等用户可见路径,减少依赖脆弱结构。 - 自动等待:移除
waitForTimeout,依赖 Playwright 的显式与隐式等待。 - 测试隔离:每个用例使用独立浏览器上下文或状态,避免共享
cookie、localStorage、弹窗。 - 失败可诊断:启用
trace、保持一致viewport、加入请求间隔,降低偶发失败。
适用边界
适合 e2e-testing、web-scraping、ui-automation 和 selenium-alternatives 场景。它不替代真实业务断言,也不承诺绕过所有反爬系统;面对检测严格的站点,仍需要结合请求节奏、隐私策略与目标站点条款判断。
使用场景
- 前端工程师为新登录流程编写 Playwright E2E,需要稳定定位按钮和等待跳转完成。
- QA 负责人迁移 Selenium 用例,避免共享上下文导致 cookie 和弹窗互相污染。
- 自动化工程师抓取动态列表页,用请求间隔、视口和 trace 降低偶发失败。
- 工具开发者为 computer-use agent 封装 UI 操作,优先使用面向用户的定位器。
适合人员
- 前端工程师:希望把 Playwright 测试从 CSS 选择器改成稳定定位器。
- QA 负责人:想迁移 Selenium 并消除共享浏览器上下文造成的偶发失败。
- 自动化工程师:需要抓取动态页面并控制请求间隔、视口与 trace。
- 工具开发者:要封装 UI 自动化动作,优先使用面向用户的定位器。