Abu-Browser
这是 Abu 随 Electron 客户端提供的内置浏览器。它会在 Abu 工作区中创建可见标签页,用户可以观察、接管或关闭。
执行原则
- 直接调用
abu-browser__get_tabs。没有标签页时,该调用会在 Abu 内创建一个可见空白标签。 - 使用返回的当前
tabId调用abu-browser__navigate打开目标网址。 - 需要交互时先调用
abu-browser__snapshot,再根据元素 ref 点击或填写。 - 用户要求截图时,完成导航并等待页面稳定后调用
abu-browser__screenshot或abu-browser__screenshot_full_page。 - 不要运行 macOS
open、Windowsstart,也不要用computer或外部系统浏览器代替。
常用流程
- 打开网页:
get_tabs->navigate - 截图:
get_tabs->navigate->wait_for->screenshot - 页面交互:
get_tabs->snapshot->click/fill/select - 提取内容:
get_tabs->extract_text/extract_table
页面发生明显变化后重新获取 snapshot;已持有的 ref 只要元素还在页面上就依然有效。
表单与下拉
- 下拉一律用
select,一次调用搞定:定位到下拉控件本身、把选项文字作为value传进去。不要先点开下拉,也不要自己去点选项——select会自己打开、找到、点中、关闭。原生<select>和 antd / Element Plus / Arco 的自定义下拉都支持;选项名写错时报错会列出实际可选项,照着重试即可。 execute_js是最后手段,拥有页面的全部权限。读页面用snapshot/extract_text/extract_table,等待用wait_for,选下拉用select;工具报错时先读错误信息,它通常已写明下一步。
安全
- 支付、删除、提交、发送等不可逆操作前先截图并获得用户确认。
- 不在用户未授权的页面输入密码、银行卡等敏感信息。
- 如果
abu-browser__工具不可用,明确说明内置浏览器当前没有准备好;不要静默切换到 Chrome、Computer Use 或系统浏览器。
确认操作结果,也不要用脚本
提交、保存这类操作之后要确认结果时:先 wait_for(等成功提示出现、或等 URL 变化),再 extract_text 读页面文字。不要写脚本去挂 fetch、翻 .ant-message、查 DOM——那样每查一次就打断用户一次。页面如果确实没有任何反馈,如实告诉用户"没有看到成功提示",不要反复探测。