Skip to main content
通过 agent 桥接查看页面或 content 的 DOM,不需要 CDP,也不用打开 DevTools。 inspect 会向正在运行的开发会话询问某个文档此刻的样子。它可以列出打开的标签页,返回结构化摘要或原始 HTML,并附上同一个目标最近的控制台输出。 会话必须在控制通道解锁的状态下运行:用 extension dev --allow-control 启动它。被拒绝时错误信息会点名缺失的 flag,所以一次被拒的调用就能告诉你该如何重启会话。

什么时候使用 inspect

  • 你想确认你的 content script 究竟往页面里渲染了什么。
  • agent 需要标签页 id,以便精确地把 evalinspect 调用指向某个目标。
  • 你希望在一次机器可读的结果里同时拿到 DOM 状态和对应的控制台输出。

用法

参数与 flag

没有 --deep-dom 这个 flag。深层 DOM 支持是会话内部上报的桥接能力,不是你能逐次调用去开关的东西。

发现循环

数字形式的标签页 id 让定位变得确定。设计好的流程是先列出、再查看:
--list-tabs 需要解锁的控制通道,但不需要 eval 令牌,所以它在任何 --allow-control 会话中都能用。返回结果是一个由 {id, url, title, active, windowId} 对象组成的数组。把其中的 id 值直接喂给这里的 --tab,或者喂给 eval

控制台增强

--with-console 会往结果里合并一个 console 数组:同一 context 与标签页最近的 n 条日志记录,读取自会话的 logs.ndjson。这样 agent 一次往返就能同时拿到 DOM 状态和控制台证据。这个增强是尽力而为的,永远不会让命令失败。 两种输出模式都会显示它。pretty 模式会在 DOM 摘要之后,以 logs 使用的同一种 [seq] LEVEL (context) message 格式打印控制台行;当尾部为空时打印 (no console lines captured)--output json 则把原始记录放在信封的 console 数组里。

截断

超过 --max-bytes 的 HTML 返回时会被截断。pretty 模式会在 stderr 上打印一条截断提示,--output json 会在信封中设置 truncated: true(参见 结果信封)。

失败模式

  • 该浏览器没有找到会话:E_SESSION_NOT_FOUND,并附上应当运行的完整 extension dev 命令。
  • 会话在没有 --allow-control 的情况下运行:连接会被拒绝,错误信息会点名这个 flag。
  • 目标界面没有打开,或者 --tab 指定的 id 已经不存在:E_TARGET_NOT_FOUND
  • 目标耗时超过了 --timeoutE_TIMEOUT
当同一个会话拒绝所有 verb,而你想知道第一个断掉的环节是哪个时,运行 doctor

下一步

  • eval 在你刚刚查看过的页面里执行一段表达式。
  • logs 持续流式查看同一个会话的日志。
  • 调试 中了解更完整的调试工作流。