Agent Browser

基于Rust的快速无头浏览器自动化CLI,支持Node.js回退,允许AI代理通过结构化命令执行页面导航、点击、输入和快照操作。

安装

概览

什么是Agent Browser

Agent Browser 是一个面向浏览器自动化的命令行工具,定位很明确:让人或 AI 代理通过一组结构化指令去控制网页,而不是依赖坐标点击或零散脚本。证据包显示,它以 Rust 为基础实现无头浏览器自动化,并提供 Node.js 回退方案,核心交互方式是先打开页面、生成快照,再基于快照里分配的元素引用执行点击、输入、滚动、读取信息等操作。这种流程把网页操作拆成可追踪的步骤,对需要稳定执行的自动化任务尤其友好。

它的使用逻辑也比较适合代理式工作流。工具支持先用 snapshot 获取整页的可访问性树,或者只拿交互元素列表,并为每个元素分配类似 @e1、@e2 的引用。后续命令围绕这些引用展开,例如 click、fill、select、hover、drag、upload,以及 get text、get attr、is visible 这类读取与检查动作。由于页面跳转或 DOM 变化后引用会更新,文档也明确建议在导航后重新生成快照,这让整个流程更接近“观察页面—确认目标—执行动作—再次确认结果”的闭环,而不是一次性把所有步骤硬编码进去。

从能力边界看,Agent Browser 不只是“替代人工点网页”的简单工具。它还提供等待条件、标签页和窗口切换、iframe 切换、对话框处理、执行 JavaScript、保存与载入会话状态、隔离 session 并行运行,以及面向程序解析的 JSON 输出。再往下还有截图、PDF 导出、页面录屏、控制台日志、页面报错、trace 记录、CDP 连接等调试与留痕能力。这意味着它既能承担自动化执行,也能承担排查问题、复现过程和生成演示材料的工作,适合放进更完整的开发或代理系统里使用。

核心功能特点

  1. 以“打开页面—生成快照—按元素引用交互”为核心流程,适合让 AI 代理按结构化命令稳定操作网页。
  2. 既能执行点击、输入、键盘、滚动、拖放、上传等常见动作,也能读取文本、属性、URL、标题和元素状态。
  3. 支持语义定位方式,可按 role、文本、label、选择器或第几个匹配项查找目标,不必只依赖快照引用。
  4. 内置等待、标签页与 iframe 切换、对话框处理、JavaScript 执行和会话状态保存,能覆盖较完整的网页流程。
  5. 提供截图、PDF、录屏、控制台与错误查看、trace 记录和 JSON 输出,便于调试、审计和接入上层程序。

适用场景

如果团队正在做 AI 代理、浏览器助手或基于 CLI 的自动化系统,Agent Browser 的价值会比较直接。它把网页操作抽象成一条条可调用的命令,还能返回机器可读的 JSON 结果,这意味着上层代理可以先读取页面快照,再决定下一步点击哪里、填写什么内容、是否等待跳转完成。对于需要不断根据页面反馈调整动作的任务,例如登录后继续访问后台、在表单提交后检查结果、根据页面文本判断流程是否成功,它比单纯录制脚本的方式更适合做动态决策。

在测试、验证和问题复现方面,这类工具也有明显用途。开发者可以用它快速检查页面交互是否可达,验证按钮、输入框、下拉框、弹窗、iframe、标签页切换等环节是否按预期工作;遇到页面状态不稳定时,还能配合 wait、console、errors、highlight 和 trace 命令定位问题。文档中的状态保存与加载机制,则适合把一次登录后的会话复用到后续流程里,避免每次都从认证步骤开始,尤其适合需要反复回归验证的后台系统。

它同样适合生成可交付的操作材料。截图、整页截图、PDF 导出和视频录制可以把自动化过程沉淀为演示文件,适用于产品演示、缺陷复现、测试留档或异步协作。录屏会在新的上下文里启动,但保留当前会话的 cookies 和存储状态,这种设计对“先手动走通一次,再录一段清晰演示”尤其方便。再加上可设置视口、设备、地理位置、离线模式、请求拦截与模拟响应,Agent Browser 更适合那些既要自动执行、又要观察页面在不同条件下表现的开发与测试场景。