Browser Use ¶
Browser Use 是一款基于 Python 的开源 AI 自动化工具,专为将大型语言模型(LLM)与浏览器操作深度融合而设计。它让 AI 智能体能够像人类一样自动浏览网页、提取信息、模拟交互,极大拓展了自动化和智能应用的边界。
一、核心概述 ¶
- 定位:Browser Use 让 AI 智能体与真实浏览器无缝交互,实现网页自动化操作(如访问页面、点击、输入、抓取、分析等)。
- 技术栈:基于 Python 3.11+,集成 Playwright(浏览器自动化)、LangChain(AI Agent 框架)、dotenv(环境变量管理)、异步 I/O 架构。
- 应用场景:自动搜索、比价、信息采集、自动下单、自动化测试、智能交互等。
二、主要特性 ¶
- 自然语言任务描述:只需用自然语言描述任务,AI 即可自动理解并完成网页操作,无需手写复杂脚本。
- 多模型支持:可集成多种 LLM(如 GPT-4o、Claude、DeepSeek、Gemini、Ollama 等),灵活切换。
- 浏览器自动化:基于 Playwright,支持多标签页管理、页面导航、元素定位、表单填写、内容提取、截图、视觉分析等。
- 视觉能力:可选启用视觉识别(截图+分析),提升对复杂网页结构的理解。
- 自我纠错:遇到异常自动重试或调整策略,提升任务成功率。
- UI 可视化:内置 Gradio 界面,便于快速测试和可视化自动化流程。
- 云端与本地双模式:既可本地部署,也支持云端托管,无需复杂环境配置。
三、安装与环境准备 ¶
1. Python 环境
- 需 Python 3.11 及以上版本,建议使用虚拟环境管理。
2. 安装 Browser Use 及依赖
pip install browser-use
playwright install
这会自动下载 Chromium 浏览器等依赖。
3. 配置 LLM API Key
- 在
.env文件中添加所需模型的 API Key,例如:OPENAI_API_KEY=sk-xxxxxx ANTHROPIC_API_KEY=xxxxxx DEEPSEEK_API_KEY=xxxxxx - 支持多种模型,参考 LangChain 文档配置。
四、核心模块与架构 ¶
| 模块 | 作用 |
|---|---|
| browser | 浏览器初始化、配置、上下文管理、多标签页、页面导航、状态维护、DOM 操作、错误处理 |
| dom | DOM 树构建、可点击元素识别、DOM 历史记录、视口管理 |
| agent | 任务决策、步骤控制、与 LLM 交互、结果回传、视觉分析、任务规划 |
流程图:
语言模型 → 决策/控制 → 浏览器执行 → 数据回传 → 模型后处理
五、快速入门示例 ¶
1. 基本用法
import asyncio
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from browser_use import Agent
load_dotenv() # 加载API Key等环境变量
llm = ChatOpenAI(model="gpt-4o")
async def main():
agent = Agent(
task="打开 https://cn.vuejs.org/guide/essentials/computed,获取页面里所有的 h2 标签文本及所有的 a 标签文本(以及它的 href)",
llm=llm,
)
result = await agent.run()
print('result:', result)
if __name__ == "__main__":
asyncio.run(main())
- 只需指定任务描述和 LLM,Agent 会自动完成网页操作并返回结构化结果。
2. 使用 DeepSeek 等其他模型
from langchain_openai import ChatOpenAI
from browser_use import Agent
async def main():
agent = Agent(
task="用baidu.com查询,介绍下智能体的MCP协议",
llm=ChatOpenAI(model="deepseek-chat", base_url="https://api.deepseek.com", api_key="sk-xxxx"),
use_vision=False, # DeepSeek 暂不支持视觉
)
await agent.run()
- 只需更换模型和 API Key 即可。
六、常见高级用法 ¶
- 多标签页操作:自动管理多页面任务。
- 视觉能力开关:
use_vision=True/False,按需启用视觉分析。 - 自定义系统提示词:可自定义 system_prompt_class,适配不同语言或风格。
- 任务规划与分步执行:支持 planner_llm,复杂任务可拆解为多步自动执行。
- 录制GIF:
generate_gif=True可自动录制执行过程,便于回溯和演示。
七、Gradio 可视化界面体验 ¶
1. 安装 Gradio
pip install gradio
2. 运行官方示例
python examples/ui/gradio_demo.py
- 打开提示的网址,即可在网页界面输入任务描述、选择模型,实时查看执行结果。
八、与传统自动化工具对比 ¶
| 工具 | 任务描述方式 | 脚本复杂度 | 智能决策 | 成功率 | 适用场景 |
|---|---|---|---|---|---|
| Playwright等 | 代码/脚本 | 高 | 无 | 50-67% | 自动化测试、爬虫 |
| Browser Use | 自然语言 | 低 | AI驱动 | 89% | 智能体、复杂交互 |
Browser Use 通过 AI 理解用户意图,自动适配网页结构,极大简化了自动化开发流程。
九、常见问题与实践建议 ¶
- 浏览器页面空白:部分模型不支持视觉时需设置
use_vision=False。 - API Key 配置:务必在
.env文件中正确填写对应模型的 Key。 - 多语言支持:可通过自定义 system prompt 或 extend_system_message 实现中文等多语言交互。
- 环境依赖:建议使用虚拟环境,确保 Python 版本和依赖一致。
十、总结 ¶
Browser Use 让 AI 智能体具备了“上网冲浪”的能力,只需用自然语言描述需求,AI 即可自动完成复杂的网页操作和信息处理。无论是开发者还是普通用户,都能通过简单配置和几行代码,快速实现强大的网页自动化与智能交互。
“Browser Use 不仅仅是一个自动化工具,它是一个融入日常生活的AI助手,能够帮助用户更智能、更高效地使用互联网。”
更多官方文档与案例,可访问 [browser-use.com] 和 [docs.browser-use.com] 获取。