SuperAPI AI 工具集

cuawright-web

测试与质量

查看项目

更新于 10-16 00:31

技能介绍

用途:通过本地 Playwright 驱动 Firefox 浏览器,以代码即动作风格逐条执行 bash 命令,完成用户指定的网页任务(如筛选、排序、抓取最终数据)。在 Claude Code 中可直接用 Bash 工具替代原 LLM 循环,无需把输出包成 JSON。

主要能力: 按工作区契约生成 plan.md 关键点清单、final_runs/run_<id>/ 每次运行目录、可执行的 final_script.py、截图与动作日志;工作区内保存全部代码、截图、日志和笔记。

两种模式:

  1. 默认一次性模式:final_script.py 针对用户给出的字面值解决任务,可用普通提示或 /cuawright:run <task> 触发。
  2. CLI 工具模式:final_script.py 变为可复用 CLI(Google 风格 Args 文档 + argparse 包装,参数默认取任务实际值),可用 /cuawright:craft <task> 触发,或用户要求参数化、可复用、转成 CLI 时触发。

前置条件(一次性): 从 CUAWright 仓库根目录执行: pip install -e . playwright install firefox 本技能不需要 API 密钥。自带能力替代了 image_qa 和 self_reflection。

工作流: 写 plan.md 编号关键点(每条须能由截图或日志行独立验证);用临时 Playwright 脚本探索稳定选择器;在新的 final_runs/run_<id>/ 中编写并插桩 final_script.py;执行一次并捕获输出;逐条对照 plan.md 自查(读取 PNG 与日志行),有失败则修复并重跑,直到全部勾选。

限制与硬性规则: 每步只发一条 bash 命令并观察输出;使用稳定选择器和当次运行证据,不得猜测 UI 状态;有专用控件必须使用专用控件,搜索框查询不能替代显式筛选/排序/样式/属性要求;排序类措辞必须基于网站实际排序/筛选;数值、日期、数量与单位约束必须精确;选择状态被抽屉/模态/下拉关闭后需重新打开或截取可见标签;声称被阻断需有实际站点 UI 的反复证据;不得用 pip/apt 安装额外包;浏览器本地模式每次新启 Firefox,无持久状态,视口固定 1280x1800,禁止 full_page 截图。参数化模式的具体参数表与完成门槛细节暂未提供完整内容,可参考 reference/cli_tool_mode.md。