核心用法
BrowserWing 是一个基于 HTTP API 的浏览器自动化工具,提供完整的网页控制能力。使用时需先读取环境变量 BROWSERWING_EXECUTOR_URL 获取 API 地址,然后按照「发现命令→导航→获取页面快照→交互→提取数据」的标准流程操作。
关键特性:
- 无障碍快照分析:调用
/snapshot获取页面结构化的元素引用(RefID),相比 CSS 选择器更稳定可靠 - 多元元素定位:支持 RefID(推荐)、CSS 选择器、XPath 和文本内容四种方式
- 批量操作:通过
/batch端点将多个操作合并为单次请求,提升效率 - 完整控制能力:涵盖导航、点击、输入、截图、JS 执行、网络监控等 20+ 功能
显著优点
1. API 设计友好:RESTful 接口,JSON 通信,易于集成到各类自动化流程
2. 智能元素识别:RefID 机制解决了动态页面中 class/id 变化导致的选择器失效问题
3. 无障碍树优化:基于 a11y 树而非原始 DOM,输出对 LLM 更友好的结构化数据
4. 完善的调试支持:提供控制台日志、网络请求追踪、对话框处理等开发工具
潜在局限
- 依赖本地服务:需要 BrowserWing Executor 服务运行,默认
127.0.0.1:8080,增加了部署复杂度 - 状态持久化:RefID 有效期仅 5 分钟,页面变化后需重新获取快照
- 并发限制:单会话模式下操作串行执行,大规模并行场景可能需要多实例
- 认证信息:文档提及 API Key 或 JWT Token 但未详述获取方式
适合人群
- 需要自动化网页操作的开发者(表单填写、数据抓取、E2E 测试)
- 构建 LLM Agent 需要浏览器工具能力的团队
- 需要将浏览器自动化集成到现有 HTTP 工作流的工程师
常规风险
- 敏感信息泄露:自动化输入的密码、Cookie 等可能残留在日志或快照中
- CSRF/点击劫持:自动化脚本可能在不知情的情况下执行危险操作
- 服务暴露风险:默认监听本地端口,若配置为公网可访问则面临未授权访问威胁
- JavaScript 执行安全:
/evaluate端点可执行任意代码,需严格限制输入来源