Browser Tools 是一套基于 Chrome DevTools Protocol 的浏览器自动化工具,面向智能体辅助的网页自动化场景。这些工具通过远程调试端口 :9222 连接 Chrome 浏览器。
用途
该工具集用于在真实浏览器中与网页交互,适合以下场景:在真实浏览器中测试前端代码;与需要 JavaScript 才能正常工作的页面交互;用户需要直观查看或操作页面;调试认证或会话问题;抓取需要 JS 执行的动态内容。
主要能力
工具以命令行脚本形式提供,覆盖以下功能:
- 启动 Chrome:browser-start.js 启动带远程调试(:9222)的 Chrome,使用 --profile 参数可复制用户配置文件(包含 Cookie、登录状态),以保留用户的认证状态。
- 导航:browser-nav.js 用于跳转到指定 URL,使用 --new 参数可在新标签页中打开,而非复用当前标签页。
- 执行 JavaScript:browser-eval.js 在当前活动标签页中执行 JavaScript,代码运行于异步上下文,可用于提取数据、检查页面状态或以编程方式操作 DOM。
- 截图:browser-screenshot.js 捕获当前视口并返回临时文件路径,用于直观检查页面状态或验证 UI 变更。
- 选取元素:browser-pick.js 启动交互式选择器,让用户点击页面元素进行选择,支持多选(Cmd/Ctrl+Click),按 Enter 完成后返回所选元素的 CSS 选择器。适用于用户想选择特定 DOM 元素、提取特定条目数据,或页面结构复杂难以确定选择器的场景。
- 查看 Cookie:browser-cookies.js 显示当前标签页的所有 Cookie,包括 domain、path、httpOnly 和 secure 标志,用于调试认证问题或检查会话状态。
- 提取页面内容:browser-content.js 导航到指定 URL 并以 markdown 形式提取可读内容,使用 Mozilla Readability 进行文章提取、Turndown 进行 HTML 到 markdown 的转换,可处理含 JavaScript 内容的页面(会等待页面加载)。
使用方式
首次使用前需运行一次安装:
cd {baseDir}/browser-tools npm install
启动 Chrome:
{baseDir}/browser-start.js # 全新配置文件 {baseDir}/browser-start.js --profile # 复制用户配置文件(Cookie、登录状态)
导航:
{baseDir}/browser-nav.js https://example.com {baseDir}/browser-nav.js https://example.com --new
执行 JavaScript:
{baseDir}/browser-eval.js 'document.title' {baseDir}/browser-eval.js 'document.querySelectorAll("a").length'
截图:
{baseDir}/browser-screenshot.js
选取元素:
{baseDir}/browser-pick.js "Click the submit button"
查看 Cookie:
{baseDir}/browser-cookies.js
提取页面内容:
{baseDir}/browser-content.js https://example.com
效率建议
资料中给出了一些使用建议:优先解析 DOM 而非截图来查看页面状态;将复杂脚本合并到单次调用中,用 IIFE 包裹多语句代码;批量执行交互而非逐次点击;对输入序列进行批处理;一次性读取应用或游戏状态;若操作后 DOM 有更新,可用 bash 加小延迟(如 sleep 0.5)再执行;交互前先调查页面结构,再针对具体元素操作。
限制
资料未提供关于收费、价格、平台兼容性、性能上限或具体效果的信息,这些内容暂未提供。