Browser Use 实战教程第1课:AI操控浏览器入门
什么是Browser Use
Browser Use是一个Python开源库,让AI像人类一样操控浏览器。不是传统的Selenium/Playwright脚本——是AI直接看网页、理解内容、做决策、点击操作。
核心区别:
- Selenium/Playwright: 你写代码告诉它点哪个按钮
- Browser Use: 你告诉它"帮我订一张明天去上海的机票",它自己看着办
商业价值:
- 外贸自动化:批量询盘、竞品监控、价格采集
- 电商运营:自动上架、评价管理、数据分析
- 数据采集:任何网站的数据,不需要写XPath
- RPA替代:替代UiPath/Blue Prism等昂贵RPA工具
- 测试自动化:像真人一样测试Web应用
安装
# 安装Browser Use
pip install browser-use
# 安装Playwright浏览器
playwright install chromium
# 设置LLM(支持OpenAI/Anthropic/本地模型)
export OPENAI_API_KEY="your-key"
# 或用本地模型
export OLLAMA_MODEL="qwen2.5:14b"
第一个自动化任务
from browser_use import Agent
from langchain_openai import ChatOpenAI
# 创建Agent
agent = Agent(
task="打开淘宝,搜索'机械键盘',找到销量最高的前3个商品,记录名称、价格、销量",
llm=ChatOpenAI(model="gpt-4o"),
)
# 执行
import asyncio
result = asyncio.run(agent.run())
print(result)
就这么多代码。 不需要写任何CSS选择器、XPath、等待逻辑。AI自己看网页、自己操作。
核心概念
1. Agent(智能体)
Agent是核心。它接收一个任务描述,然后:
- 打开浏览器
- 分析页面内容
- 决定下一步操作
- 执行点击/输入/滚动等操作
- 直到完成任务
2. Action(操作)
Agent支持的操作:
navigate(url)— 打开网页click(element)— 点击元素input(text)— 输入文字scroll(direction)— 滚动页面screenshot()— 截图分析extract(selector)— 提取数据wait(seconds)— 等待
3. Vision(视觉)
Agent用视觉模型分析网页截图,所以:
- 不依赖DOM结构(网站改版不影响)
- 能处理Canvas/SVG等非DOM内容
- 像真人一样"看"网页
实战:外贸询盘自动化
from browser_use import Agent
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o")
# 批量询盘任务
products = [
{"name": "LED灯带", "spec": "5050 RGB, 5米", "qty": "1000米"},
{"name": "蓝牙耳机", "spec": "TWS, 降噪", "qty": "500个"},
]
for product in products:
task = f"""
1. 打开 alibaba.com
2. 搜索 '{product["name"]}'
3. 找到规格为 '{product["spec"]}' 的供应商
4. 点击'Contact Supplier'
5. 发送询盘:'Hi, I need {product["qty"]} of {product["spec"]} {product["name"]}. Please send me your best FOB price.'
6. 记录供应商名称和报价
"""
agent = Agent(task=task, llm=llm)
result = asyncio.run(agent.run())
print(f"{product['name']}: {result}")
实战:竞品价格监控
import json
from datetime import datetime
from browser_use import Agent
async def monitor_prices():
agent = Agent(
task="""
1. 打开京东
2. 搜索 'RTX 4090'
3. 按价格排序
4. 提取前10个商品的:商品名、价格、店铺名、评价数
5. 以JSON格式返回结果
""",
llm=ChatOpenAI(model="gpt-4o"),
)
result = await agent.run()
# 保存结果
data = {
"date": datetime.now().isoformat(),
"query": "RTX 4090",
"results": result
}
with open("price_history.jsonl", "a") as f:
f.write(json.dumps(data, ensure_ascii=False) + "\n")
asyncio.run(monitor_prices())
Browser Use vs 传统工具对比
| 特性 | Selenium | Playwright | Browser Use |
|---|---|---|---|
| 定位方式 | CSS/XPath | CSS/XPath | AI视觉 |
| 网站改版 | 需要改代码 | 需要改代码 | 自动适应 |
| 验证码 | 手动处理 | 手动处理 | AI识别 |
| 动态内容 | 需要等待 | 需要等待 | 自动处理 |
| 学习成本 | 中 | 中 | 低 |
| 执行速度 | 快 | 快 | 慢(AI推理) |
| 适用场景 | 确定性操作 | 确定性操作 | 复杂/变化场景 |
高级配置
from browser_use import Agent, BrowserConfig
# 浏览器配置
config = BrowserConfig(
headless=True, # 无头模式
disable_security=True, # 禁用安全策略(跨域)
extra_chromium_args=[
"--proxy-server=http://proxy:8080", # 代理
"--window-size=1920,1080",
],
)
agent = Agent(
task="...",
llm=llm,
browser_config=config,
max_actions_per_step=5, # 每步最多5个操作
)
反检测策略
Browser Use + 反检测 = 无敌组合:
from browser_use import Agent, BrowserConfig
config = BrowserConfig(
extra_chromium_args=[
"--disable-blink-features=AutomationControlled",
"--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...",
],
)
# 配合你的 web-scraper 的反检测模块
from tools.web_scraper.anti_detect import AntiDetect
anti = AntiDetect()
proxy = anti.get_proxy()
商业化案例
案例1:外贸数据采集服务
- 客户:外贸公司
- 需求:每天采集1000个供应商的价格
- 报价:¥5000/月
- 实现:Browser Use + 定时任务 + 数据清洗
案例2:电商竞品监控
- 客户:品牌方
- 需求:监控竞品在各平台的价格和促销
- 报价:¥3000/月
- 实现:Browser Use + 多平台爬取 + 报告生成
案例3:RPA自动化
- 客户:中小企业
- 需求:自动化重复性网页操作
- 报价:¥10000/项目
- 实现:Browser Use + 自定义流程
下节预告
第2课:Browser Use高级技巧——多标签页、文件下载、登录态保持、Cookie管理。
评论