Browser-Use简介
Browser-Use是一个开源的Python库,旨在简化AI代理与浏览器之间的交互。通过集成Playwright等浏览器自动化工具,Browser-Use允许开发者使用任何支持LangChain的大型语言模型(LLM),如GPT-4、Claude等,来自动化浏览网页、提取信息、模拟用户操作等。这不仅极大地提高了网页数据抓取的效率,还为开发者提供了一个灵活、可扩展的框架,用于构建复杂的网页自动化任务。
Browser-Use项目托管在GitHub上,拥有详细的文档、示例代码和活跃的社区支持。项目主页提供了快速上手指南、功能演示、配置选项以及贡献指南等丰富的内容,帮助开发者快速了解和使用Browser-Use。
GitHub:https://github.com/browser-use/browser-use
Browser-Use的核心功能
Browser-Use提供了一系列强大的功能,以满足不同场景下的网页自动化需求。以下是一些核心功能的介绍:
- 视觉+HTML提取:Browser-Use能够自动解析网页内容,提取出文本、图片等视觉元素以及HTML结构,为AI代理提供丰富的输入信息。
- 自动多标签页管理:在处理复杂的网页任务时,往往需要同时打开多个标签页。Browser-Use能够自动管理这些标签页,确保AI代理能够高效地在不同页面之间切换。
- 提取点击元素的XPath并重复LLM动作:当AI代理在网页上执行点击操作时,Browser-Use会记录这些操作的XPath路径。这允许开发者在需要时重复执行相同的LLM动作,提高了自动化任务的可靠性和稳定性。
- 添加自定义动作:除了内置的自动化操作外,Browser-Use还支持开发者注册自定义动作。这些动作可以是保存文件、推送数据库、发送通知、获取用户输入等,极大地扩展了AI代理的功能范围。
- 自我纠正:在处理网页任务时,AI代理可能会遇到各种预料之外的情况。Browser-Use通过提供自我纠正机制,允许AI代理在发现错误时重新尝试或调整策略,从而提高了自动化任务的成功率。
- 支持多种LLM:Browser-Use与LangChain紧密集成,支持使用任何LangChain支持的LLM模型。这意味着开发者可以根据自己的需求选择合适的LLM模型,以实现最佳的自动化效果。
- 并行化多个代理:为了提高自动化任务的效率,Browser-Use允许开发者并行化多个AI代理。这些代理可以共享同一个浏览器实例,但每个代理都有自己独立的上下文环境,确保任务之间的独立性。
快速上手指南
接下来,我们将通过一个简单的示例来展示如何使用Browser-Use来自动化网页任务。假设我们需要查找从巴厘岛到阿曼的单程航班,并在Google Flights上返回最便宜的选项。以下是具体的步骤:
-
安装依赖:
首先,我们需要安装Browser-Use及其依赖项。可以使用pip命令来完成安装:pip install browser-use playwright playwright install
-
配置API密钥:
由于Browser-Use使用了LangChain和Playwright等外部服务,因此我们需要将相应的API密钥添加到.env
文件中。例如:LANGCHAIN_API_KEY=your_langchain_api_key PLAYWRIGHT_BROWSER_TYPE=chromium # 指定浏览器类型,如chromium、firefox等
-
编写代码:
接下来,我们可以编写Python代码来实现自动化任务。以下是一个完整的示例代码:from langchain_openai import ChatOpenAI from browser_use import Agent import asyncio async def main(): # 初始化AI代理,并设置任务描述和LLM模型 agent = Agent( task="Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option.", llm=ChatOpenAI(model="gpt-4") # 这里使用GPT-4模型,你可以根据需求选择其他模型 ) # 运行AI代理并获取结果 result = await agent.run() print(result) # 运行主函数 asyncio.run(main())
在上述代码中,我们首先导入了必要的库,并定义了主函数
main
。在主函数中,我们创建了一个AI代理对象agent
,并设置了任务描述和LLM模型。然后,我们调用agent.run()
方法来运行AI代理,并打印出结果。 -
查看结果:
运行代码后,AI代理将自动打开Google Flights网页,并根据任务描述搜索从巴厘岛到阿曼的单程航班。最终,它将返回最便宜的航班选项,并将其打印到控制台上。
更多示例与高级用法
除了上述基本示例外,Browser-Use还支持许多高级用法和自定义配置。以下是一些值得探索的内容:

- 自定义动作:通过注册自定义动作,你可以让AI代理执行更复杂的任务,如保存文件、推送数据库等。
- 多标签页管理:在处理需要同时打开多个网页的任务时,你可以利用Browser-Use的自动多标签页管理功能来提高效率。
- XPath历史记录:通过获取XPath历史记录,你可以追踪AI代理在网页上的所有操作,这对于调试和优化自动化任务非常有用。
- 浏览器配置:Browser-Use提供了丰富的浏览器配置选项,如是否以无头模式运行、是否保持浏览器打开等,以满足不同场景下的需求。
结论与展望
Browser-Use作为一个开源的Python库,为开发者提供了一个强大而灵活的框架,用于构建复杂的网页自动化任务。通过集成Playwright等浏览器自动化工具和LangChain等AI服务,Browser-Use能够自动化执行各种网页任务,如搜索航班、查找工作机会、提取网页数据等。未来,随着AI技术的不断发展和浏览器自动化需求的日益增长,Browser-Use有望成为更多开发者的首选工具之一。
如果你对Browser-Use感兴趣,不妨加入其GitHub社区,与其他开发者一起交流心得、分享经验。同时,也欢迎你为Browser-Use贡献代码、提出功能建议或参与讨论,共同推动这个项目的发展和完善。