网络#
在浏览器自动化过程中,可以使用网络命令拦截请求、模拟响应、检查流量并导出 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 接受以逗号分隔的资源类型列表,例如 script、image、font、xhr 和 fetch。
请求日志#
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.harHAR 文件可以包含请求头、响应头和响应体。当页面使用 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,这样路由就有时间在第一次真实导航前注册。