用途:通过 agent-browser CLI 实现浏览器自动化,适用于导航网站、验证已部署 UI、测试 Web 应用、阅读在线文档、抓取数据等场景。默认无头运行,加 --headed 可显示窗口;采用基于可访问性快照的 ref 选择器(@e1、@e2)操作元素。
主要能力:支持打开/前进/后退/刷新/关闭等导航操作;snapshot 获取可访问性树(-i 仅交互元素,--json 供解析);click、dblclick、fill、type、press、hover、check、select、scroll、drag、upload 等交互;get 读取文本、值、HTML、属性、标题、URL、计数、盒模型与样式;is visible/enabled/checked 检查状态;wait 支持元素、毫秒、文本、URL、网络空闲与 JS 条件。还支持截图(含 --annotate 标注编号,对应 @eN)、PDF、快照与像素级 diff(含双 URL 对比)、语义定位器 find(role/text/label/placeholder/testid 等)、eval 执行 JS、并行 session、会话状态保存与恢复、连接已有 Chrome、打开本地文件、iOS 模拟器(需 macOS、Xcode、Appium)。可用 --json 输出机器可读结果,支持录屏与 profiler。
使用方式:先执行版本检查(command -v agent-browser ... 或提示 npm i -g agent-browser && agent-browser install)。核心流程为打开 URL、snapshot 获取 ref、按 ref 交互、DOM 变化后重新 snapshot。命令可用 && 链式执行;浏览器通过后台守护进程在命令间保持。复杂 JS 建议用 --stdin 或 -b。项目根目录可放 agent-browser.json 配置。
限制与注意:ref 在页面变化后会失效,导航或表单提交后须重新 snapshot;--headed 可能因守护进程复用被忽略,需先关闭或清理守护进程;结束时应 close 会话避免残留进程;iOS 模拟器需额外环境。版本迭代较快,超过一周建议检查更新。