4.0 KiB
Executable File
4.0 KiB
Executable File
Browser Use
定义
Browser Use是一个Python框架,让AI可以自主操作浏览器,支持DOM和截图双模式。
核心思想:AI自主决策循环,支持DOM和截图双模,Token消耗极低。
核心特征
1. Python框架
- 基于Playwright
- AI自主决策循环
- 易于集成到Python项目
2. 双模式支持
- DOM模式:结构化DOM快照
- 截图模式:视觉理解
- 可以混合使用
3. 极低Token消耗
- CLI模式~75 tok/步
- 比其他方案低很多
- 成本敏感项目首选
原理
AI决策
↓
Browser Use框架
↓
Playwright操作浏览器
↓
获取DOM/截图
↓
AI分析结果
↓
下一步操作
与其他方案对比
| 维度 | Browser Use | Playwright MCP | Chrome DevTools MCP | Computer Use |
|---|---|---|---|---|
| 原理 | Python框架 + Playwright,AI自主决策循环 | 通过Playwright访问浏览器Accessibility Tree | 通过Chrome DevTools Protocol直接与浏览器引擎通信 | AI截取屏幕截图 → 视觉识别元素 → 输出坐标/按键操作 |
| 抽象层 | DOM + 截图 视觉 + 结构化混合 | Accessibility Tree 结构化DOM快照 | CDP Protocol DevTools协议原生 | 截图 + 坐标 OS级视觉理解 |
| 速度 | 中 ~1.5s/步 | 快 ~0.9s/步 | 中 ~1.2s/步 | 慢 0.8-2s/步 |
| Token消耗 | 极低 CLI模式 ~75 tok/步 | 高 截图+结构全传 | 中 按需取数据 | 高 截图编码开销大 |
| JS重页面 | 中 — 视觉兜底 | 中 — DOM可读 | 中 — CDP可取 | 高 — 视觉理解 |
| 跨应用操作 | 仅浏览器 | 仅浏览器 | 仅浏览器 | 全桌面 |
使用示例
基本使用
from browser_use import Agent
agent = Agent(
task="Go to Reddit, search for 'r/LocalLLaMA' and click on the first post",
llm=llm
)
result = await agent.run()
print(result)
原始指令
agent = Agent(
task="""
1. 打开 /login 页面
2. 输入用户名 test@example.com
3. 输入密码 123456
4. 点击登录按钮
5. 验证跳转到 /dashboard
6. 验证页面显示 "Welcome"
""",
llm=llm
)
AI探索后生成的Playwright脚本雏形
test('login flow', async ({ page }) => {
await page.goto('/login');
await page.fill('[name="email"]', 'test@example.com');
await page.fill('[name="password"]', '123456');
await page.click('button[type="submit"]');
await expect(page).toHaveURL('/dashboard');
await expect(page.locator('text=Welcome')).toBeVisible();
});
E2E测试生成三步法
Step 1: Browser Use探索
- AI自主遍历页面,记录操作轨迹、选择器、页面状态
- 输出Playwright脚本雏形
- 消耗Token
Step 2: Playwright E2E固化
- 将探索结果转为Playwright测试脚本
- 加入CI,零Token可重复运行
Step 3: 截图视觉兜底
- Playwright覆盖不到的视觉场景(布局、动效、图表)
- 重回截图判断
适用场景
- Token成本敏感:极低Token消耗
- 复杂网页自动化:需要视觉理解
- E2E测试探索:快速生成测试脚本雏形
- 网页数据抓取:自动化数据提取
优势
- Token消耗极低:CLI模式~75 tok/步
- AI自主决策:无需手动编写脚本
- 支持视觉理解:可以处理复杂视觉场景
- 易于集成:Python框架,易于集成到项目
挑战
- 仅限浏览器:不能操作其他应用
- 依赖Python:需要Python生态
- 学习成本:需要了解框架使用
最佳实践
- Token成本敏感首选:极低Token消耗
- 先用Browser Use探索:快速生成测试脚本雏形
- 人工审查后固化:优化选择器,加入CI/CD
- 关键页面截图验证:视觉回归测试
相关概念
- 测试策略金字塔:Browser Use是E2E测试的工具
- Playwright:Browser Use基于Playwright
- Computer_Use:Browser Use和Computer Use的对比
- MCP:Browser Use和MCP的对比