初始化脚本与扩展
Init 脚本在页面 JavaScript 运行之前执行。请使用它们在首次导航之前安装钩子、polyfill、插桩或测试辅助工具。
启动时脚本¶
agent-browser --init-script ./instrumentation.js open https://example.com
agent-browser --init-script ./a.js --init-script ./b.js open https://example.com
你也可以通过环境变量来配置脚本:
启动时脚本会在浏览器启动时应用。如果守护进程已在运行,请在修改启动时脚本选项之前先关闭它。
内置脚本¶
react-devtools 是目前可用的内置功能。它会在应用程序代码运行之前安装 React DevTools 钩子,并且是 react tree、react inspect、react renders 和 react suspense 所必需的。
移除 Init 脚本¶
使用 --init-script <path> 在首次导航之前注册脚本。不支持运行时注册。Init 脚本会在后续文档的页面 JavaScript 之前运行,并且不会修改已经执行过的代码。
Init 脚本标识符是会话级的。removeinitscript 会从每个已注册该脚本的打开的标签页中移除它,并防止它被重放到后续打开的标签页中。
导航前设置¶
对于需要在首次真实导航之前安装路由、Cookie 或脚本的流程,可以不带 URL 启动浏览器:
agent-browser batch \
"open" \
"network route * --abort --resource-type script" \
"cookies set --curl cookies.curl --domain localhost" \
"navigate http://localhost:3000/target"
不带 URL 的 open 会在 about:blank 上启动浏览器,从而在目标页面加载之前留出空间来准备状态。
扩展¶
agent-browser --extension ./extension open https://example.com
agent-browser --extension ./a --extension ./b open https://example.com
扩展属于启动时选项。它们需要基于本地 Chromium 的浏览器,并且不支持 CDP 连接、云提供商或 Lightpanda。
安全¶
Init 脚本和扩展会在页面上下文中以高权限运行。请仅从可信的本地路径加载脚本和扩展目录。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 agen/agent-browser