调试
使用调试命令在自动化过程中检查浏览器日志、页面错误、JavaScript 对话框、Chrome DevTools 跟踪、高亮元素以及实时 DevTools 前端。
控制台与页面错误¶
agent-browser console
agent-browser console --json
agent-browser console --clear
agent-browser errors
agent-browser errors --clear
| 命令 | 描述 |
|---|---|
console | 显示浏览器控制台消息 |
console --json | 显示带有原始 CDP 参数的结构化控制台输出 |
console --clear | 清除 agent-browser 捕获的控制台日志 |
errors | 显示捕获的页面错误和未捕获的 JavaScript 异常 |
errors --clear | 清除捕获的页面错误日志 |
当对象预览或原始 CDP 参数对自动化诊断脚本很重要时,请使用 console --json。当智能体只需要了解页面记录了哪些内容时,请使用默认文本输出。
JavaScript 对话框¶
agent-browser dialog status
agent-browser dialog accept
agent-browser dialog accept "prompt text"
agent-browser dialog dismiss
默认情况下,alert 和 beforeunload 对话框会被自动接受,因此它们不会阻塞智能体。confirm 和 prompt 对话框仍需显式处理。使用 --no-auto-dialog 或 AGENT_BROWSER_NO_AUTO_DIALOG=1 可禁用自动处理。
当有对话框等待处理时,命令响应会包含一个 warning 字段,其中带有对话框类型和消息,以便智能体可以通过 dialog accept 或 dialog dismiss 恢复。
DevTools 与视觉检查¶
highlight 会在实时页面中突出显示某个元素,这在以有头模式运行,或通过流式传输或仪表盘查看会话时非常有用。inspect 通过本地代理为当前活动页面打开 Chrome DevTools,同时守护进程继续接受 agent-browser 命令。
Chrome 跟踪捕获¶
agent-browser trace start
agent-browser open https://example.com
agent-browser click @e3
agent-browser trace stop ./trace.json
trace start 开始捕获 Chrome DevTools 跟踪。trace stop [path] 结束跟踪并保存一个 Chrome Trace Event JSON 文件。如果未提供路径,agent-browser 会在其临时目录下写入一个自动生成的跟踪文件。
当你需要精选的性能类别和事件计数时,请使用 Profiler。当你需要用于底层调试的通用 Chrome 跟踪时,请使用原始跟踪。
超时¶
标准操作(如点击、填写和等待)默认在 25 秒后超时。CLI 会等待守护进程的回复至少 30 秒,因此守护进程会在 CLI 放弃 socket 之前报告自己的超时错误。以毫秒为单位设置 AGENT_BROWSER_DEFAULT_TIMEOUT 来更改默认值:
等待命令会延长 CLI 的读取超时时间,以匹配其预算。其他命令保持 30 秒的下限,因此高于 30000 的值可能会让慢速操作超过 CLI 的读取时间。只读命令(如 snapshot、url 和 get text)会自动重试。改变页面或启动浏览器的命令在守护进程收到后不会重新发送,因为它可能已经执行过;此类命令会以代码 outcome_unknown 失败。
当命令因页面停止响应而超时(例如脚本卡在 while(true){})时,它会以代码 page_wedged 失败。如果 agent-browser 启动了浏览器,并且接下来的命令也超时,agent-browser 会用空白标签页替换卡住的标签页,因此后续命令在导航后可以再次正常工作。在此期间恢复的页面会保留其标签页。使用 --cdp 或 --auto-connect 时,标签页属于你的浏览器,会保持原样。当操作策略拒绝 tab_new 或 tab_close,或要求对这些操作进行确认时,标签页同样会保持原样。
相关工具¶
| 需求 | 使用 |
|---|---|
| 性能分析 | Profiler |
| 保存的视频工件 | Video Recording |
| 实时浏览器流 | Streaming |
| 安装与环境诊断 | Doctor |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 agen/agent-browser