Skip to main content
透過 agent 橋接檢視頁面或 content 的 DOM,不需要 CDP,也不用打開 DevTools。 inspect 會向執行中的 dev 工作階段詢問某份文件此刻的樣子。它可以列出打開的分頁、回傳結構化摘要或原始 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 持續串流檢視同一個工作階段的日誌。
  • 除錯 中了解更完整的除錯工作流程。