浏览器自动化(Playwright)¶
当 web_fetch 不够用(JS 渲染页面、多步交互、表单填写、需要截图留证)时,使用 browser_* 工具更可靠。
前置条件¶
安装 Playwright(Python):
如果你的 Python 可执行文件不是 python3,可以通过环境变量 REXOS_BROWSER_PYTHON 指定(例如 python)。
工具集¶
browser_navigate:打开 URL(默认带 SSRF 防护)browser_click:按 CSS selector 点击(会做尽力的可见文本 fallback)browser_type:填写输入框browser_read_page:返回{title,url,content}(content 会被截断)browser_screenshot:把 PNG 写入 workspace 相对路径browser_close:关闭 session(可重复调用)
推荐循环¶
browser_navigate打开入口页面browser_read_page确认状态- 每次只做一个小动作:
browser_click或browser_type - 再次
browser_read_page确认页面确实变化 - 直到完成,最后
browser_screenshot留证并browser_close
Selector 小技巧¶
尽量使用稳定属性,而不是容易变化的文案文本:
#id[name="q"][data-testid="submit"]button[type="submit"]
如果 CSS selector 失败,browser_click 会尝试 尽力的可见文本 fallback。尽量写得具体,避免“OK / 确定”这种歧义文本导致点错。
Prompt 模板(可直接复制)¶
示例运行:
安全说明¶
browser_navigate默认拒绝 loopback/private 目标;只有本地/私网测试才建议显式开启allow_private=true。browser_screenshot只允许写到 workspace 相对路径(不允许绝对路径、不允许..、不允许通过 symlink 逃逸)。
故障排查¶
- 报错提示 Playwright 缺失:按“前置条件”安装。
- 报错提示找不到
python3:设置REXOS_BROWSER_PYTHON=python。 - 报错提示 session 未启动:先调用
browser_navigate。