Files
chill_notes/AI工程/概念/Browser_Use.md
2026-06-22 11:30:51 +08:00

145 lines
4.0 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Browser Use
> 相关:[[测试策略金字塔]]、[[Playwright]]、[[Computer_Use]]、[[MCP]]
## 定义
**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框架 + PlaywrightAI自主决策循环 | 通过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可取 | 高 — 视觉理解 |
| 跨应用操作 | 仅浏览器 | 仅浏览器 | 仅浏览器 | 全桌面 |
## 使用示例
### 基本使用
```python
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)
```
### 原始指令
```python
agent = Agent(
task="""
1. 打开 /login 页面
2. 输入用户名 test@example.com
3. 输入密码 123456
4. 点击登录按钮
5. 验证跳转到 /dashboard
6. 验证页面显示 "Welcome"
""",
llm=llm
)
```
### AI探索后生成的Playwright脚本雏形
```typescript
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生态
- **学习成本**:需要了解框架使用
## 最佳实践
1. **Token成本敏感首选**极低Token消耗
2. **先用Browser Use探索**:快速生成测试脚本雏形
3. **人工审查后固化**优化选择器加入CI/CD
4. **关键页面截图验证**:视觉回归测试
## 相关概念
- [[测试策略金字塔]]Browser Use是E2E测试的工具
- [[Playwright]]Browser Use基于Playwright
- [[Computer_Use]]Browser Use和Computer Use的对比
- [[MCP]]Browser Use和MCP的对比