网络#

在浏览器自动化过程中,可以使用网络命令拦截请求、模拟响应、检查流量并导出 HAR 文件。

请求路由#

路由规则会在匹配请求发送之前生效。如果你希望首次页面加载就受到影响,请在导航前设置。

bash
agent-browser open
agent-browser network route "**/analytics/**" --abort
agent-browser network route "**/api/users" --body '{"users":[]}'
agent-browser navigate https://app.example.com
命令描述
network route <url>拦截匹配的请求
network route <url> --abort阻止匹配的请求
network route <url> --body <json>使用模拟响应体回复匹配的请求
network route "*" --resource-type script --abort仅阻止特定资源类型
network unroute [url]移除一条路由或全部路由

--resource-type 接受以逗号分隔的资源类型列表,例如 scriptimagefontxhrfetch

请求日志#

bash
agent-browser network requests
agent-browser network requests --filter api
agent-browser network requests --type xhr,fetch
agent-browser network requests --method POST
agent-browser network requests --status 2xx
agent-browser network request <requestId>
agent-browser network requests --clear
过滤器描述
--filter <pattern>按 URL 子串或模式过滤
--type <csv>按资源类型过滤
--method <method>按 HTTP 方法过滤
--status <status>按精确状态码、状态族或范围过滤
--clear清除已跟踪的请求日志

network requests 中找到请求 ID 后,可使用 network request <requestId> 详细检查单个请求和响应。

HAR 导出#

bash
agent-browser network har start

agent-browser open https://app.example.com
agent-browser click @e4

agent-browser network har stop ./trace.har

HAR 文件可以包含请求头、响应头和响应体。当页面使用 cookies、Bearer token 或 API key 时,请将它们视为敏感数据。

SSR 与无 JavaScript 调试#

bash
agent-browser batch \
  '["open"]' \
  '["network","route","*","--abort","--resource-type","script"]' \
  '["navigate","http://localhost:3000"]' \
  '["snapshot","-i"]'

使用不带 URL 的 open 会让浏览器停留在 about:blank,这样路由就有时间在第一次真实导航前注册。