Install
openclaw skills install auto-browser通过 Chrome Debug 模式(CDP)自动化操作真实浏览器——导航、点击、填表、提取数据、截图、执行多步流程。当用户说"帮我在网页上操作"、"打开浏览器"、"帮我点"、"帮我填"、"帮我抓取"、"帮我截图"、"auto-browser"时使用。
openclaw skills install auto-browser你的浏览器遥控器。导航、点击、填表、抓数据、截图——说一句话就行。
/auto-browser 打开 GitHub 看看我的 notifications
/auto-browser 去 Amazon 搜索 mechanical keyboard 截图前三个结果
/auto-browser 登录后台,把订单列表导出来
/auto-browser 帮我在这个页面点「下一步」然后填写地址表单
自然语言描述意图即可,不需要写代码。
所有浏览器操作使用 user-playwright-cdp 的工具(连接真实 Chrome,保留登录态)。
user-playwright-cdp 的 browser_navigate、browser_snapshot、browser_click 等cursor-ide-browser 的同名工具(沙盒浏览器,无登录态)curl -s http://127.0.0.1:9222/json/version
nohup /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir="/tmp/chrome_debug_profile" \
> /tmp/chrome_debug.log 2>&1 &
等 2 秒后重新 curl 确认。
每次操作前都先 browser_snapshot,获取页面无障碍树。这是你的「眼睛」。
ref 来定位元素根据用户意图选择操作,可自由组合:
| 意图 | 工具 | 说明 |
|---|---|---|
| 打开网页 | browser_navigate | 推断 URL,直接导航 |
| 后退 | browser_navigate_back | |
| 点击按钮/链接 | browser_click | 用 snapshot 的 ref |
| 填写输入框 | browser_type(追加)/ browser_fill_form(清空后填) | |
| 选择下拉框 | browser_select_option | |
| 上传文件 | browser_file_upload | 需绝对路径 |
| 按键 | browser_press_key | Enter、Escape、Tab 等 |
| 悬停 | browser_hover | 展开菜单、tooltip |
| 拖拽 | browser_drag | startRef → endRef |
| 处理弹窗 | browser_handle_dialog | alert/confirm/prompt |
| 等待加载 | browser_wait_for | 等时间或等文本出现/消失 |
| 执行 JS | browser_evaluate | 页面没有暴露 UI 时的后备手段 |
| 管理标签页 | browser_tabs | list/new/close/select |
| 调整窗口 | browser_resize | 测试响应式布局 |
操作完成后 browser_take_screenshot 截图给用户确认结果。
根据用户描述直接推断 URL 并导航,不要反问:
https://www.google.comhttps://github.comhttps://www.v2ex.com只有完全无法推断时才问。
复杂任务拆成步骤,每步遵循:snapshot → 操作 → 等待 → snapshot 确认。
示例:「登录后台导出订单」
1. navigate 到登录页 → snapshot
2. 如果已登录跳过,否则填写账号密码 → click 登录
3. wait_for 页面加载 → snapshot
4. click 导航到订单页 → snapshot
5. click 导出按钮 → 截图确认
页面变化后(导航、点击、提交),用短间隔等待 + snapshot 确认:
browser_wait_for time=2 → snapshot → 检查是否就绪
→ 没好?再 wait_for time=2 → snapshot
不要一次等太久。2-3 秒一轮,最多重试 3 次。
需要从页面抓取数据时:
browser_snapshot 获取页面结构browser_evaluate 执行 JS 提取填表场景遵循 auto-fill 的规则:
browser_fill_form 批量填写| 操作 | Agent 直接做 | 需用户确认 |
|---|---|---|
| 导航、浏览、截图 | ✅ | |
| 点击普通按钮/链接 | ✅ | |
| 填写非敏感字段 | ✅ | |
| 读取/提取页面数据 | ✅ | |
| 填写密码 | ✅ | |
| 点击「提交」「付款」「删除」 | ✅(除非用户明确说"帮我提交") | |
| 发送消息/邮件 | ✅ | |
| 关闭标签页 | ✅(除非用户要求) |
原则:只读操作自由做,写入/不可逆操作先确认。
| 问题 | 处理 |
|---|---|
| 元素找不到 | 重新 snapshot,ref 可能变了 |
| 页面加载慢 | browser_wait_for 等待,不要盲目重试 |
| 弹窗阻断 | browser_handle_dialog 处理 |
| 需要登录 | 告诉用户,等用户手动登录后继续 |
| 验证码/人机验证 | 截图告知用户,等用户处理 |
| JS 报错 | browser_console_messages 查看错误日志 |
如果 ~/.cursor/mcp.json 里没有 playwright-cdp 配置,添加:
"playwright-cdp": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest", "--cdp-endpoint", "http://127.0.0.1:9222"]
}
添加后提示用户重载 MCP(Cursor 设置 → MCP → Reload)。