后端与接口
本地无可用 Chrome 时,用 Browser Use…
当 agent 所在机器没有可用的本地浏览器、又需要隔离浏览器做网页自动化时,通过 Browser Use Cloud 启动并按名字复用远程浏览器会话。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
本地无可用 Chrome 时,用 Bro特定
解决思路
- 确认场景:agent 运行在没有可用本地 Chrome 的机器上、需要隔离浏览器时才使用本技能;当前 Browser Use CLI 从 stdin 执行 Python,禁止使用已移除的 `open`、`state`、`click`、`input`、`tab`、`cloud connect`、`--connect` 等命令。
- 先检查 CLI 是否可用:运行 `browser-use --doctor` 和 `browser-use skill show`;若初始化失败,按当前的 Browser Use skill(../browser-use/SKILL.md)处理。
- 只认证一次:运行 `browser-use auth login`。
- 为浏览器取一个简短且唯一的名称(示例中用 `r7k2`),通过 heredoc 启动远程守护进程:`browser-use <<'PY'` 后接 `start_remote_daemon("r7k2")` 再 `PY`。
- 之后该浏览器的每条命令都用同一个名称,例如 `BU_NAME=r7k2 browser-use <<'PY' ... PY`,保证操作同一会话。
- 每个远程守护进程是独立的 Browser Use Cloud 浏览器:并行任务必须使用不同的名称;远程浏览器在停止或超时前会持续计费,注意及时关闭。
- 执行检查与交互:heredoc 中 helper 已预导入,尽量把多步操作放在同一个 heredoc 里,例如先 `print(page_info())`、`print(js("document.title"))`,再 `fill_input('input[name="q"]', "browser automation")`、`press_key("Enter")`、`wait_for_load()`,最后再次 `print(page_info())`。
- 按需调用 helper:导航用 `new_tab(url)`、`goto_url(url)`、`wait_for_load()`;检查用 `page_info()`、`js(code)`、`cdp(method, ...)`;交互用 `click_at_xy(x, y)`、`type_text(text)`、`fill_input(selector, text)`、`press_key(key)`、`scroll(x, y)`;标签页用 `list_tabs()`、`switch_tab(target)`、`close_tab(target)`;截图与等待元素用 `capture_screenshot()`、`wait_for_element(selector)`。
- 查找元素时优先使用可访问性树:`nodes = cdp("Accessibility.getFullAXTree")["nodes"]`。
- 当可访问性树中缺少目标元素时,改用有针对性的 `js(...)` 查询来定位。
- 每个动作都要验证:用 `page_info()`、聚焦的 DOM 检查或截图确认结果。
- 任务完成后停止指定名称的浏览器:`browser-use <<'PY'` 后接 `stop_remote_daemon("r7k2")` 再 `PY`;不要留下未使用的远程浏览器在运行。
适用边界 · 注意事项
- 本机已有可用的本地 Chrome、不需要隔离浏览器时,不必使用本技能。
- 不要使用已移除的旧命令(如 `open`、`state`、`click`、`input`、`tab`、`cloud connect`、`--connect`)。
- 不接受远程浏览器计费、或无法在任务结束时及时调用 `stop_remote_daemon` 停止实例的场景不宜使用。