AI个人学习
和实操指南

Browser-Use:构建智能网页自动化工具,让AI智能体轻松操作浏览器

综合介绍

Browser-Use是一个创新的开源网页自动化工具,专门设计用于让语言模型(LLM)能够自然地与网站进行交互。它提供了一个强大而灵活的框架,支持多种主流语言模型,包括GPT-4、Claude等。该工具最显著的特点是将AI能力与浏览器自动化无缝结合,支持视觉识别和HTML提取、自动管理多标签页、智能元素检测等功能。Browser-Use不仅可以执行简单的网页浏览任务,还能处理复杂的交互场景,如自动填写表单、提交申请、搜索信息等。它的设计理念是让AI代理能够像人类一样自然地使用浏览器,大大简化了网页自动化的开发过程。该工具特别适合需要进行网页自动化、数据采集、批量操作的开发者使用。

Browser-Use:构建智能网页自动化工具,让AI智能体轻松操作浏览器-1


 

功能列表

  • 支持视觉识别和HTML内容智能提取
  • 自动化多标签页管理系统
  • 提取已点击元素的XPath路径并能重现精确的LLM操作
  • 支持自定义动作(如保存文件、推送数据库、发送通知、获取人工输入)
  • 具备自我纠错能力
  • 兼容LangChain支持的所有语言模型
  • 支持并行运行多个AI代理
  • 可配置的浏览器安全特性
  • Cookie持久化存储功能
  • 灵活的页面加载等待时间设置

 

使用帮助

1. 安装配置

  1. 首先通过pip安装Browser-Use包:
pip install browser-use
  1. (可选)安装playwright:
playwright install
  1. 配置环境变量:
    创建.env文件并添加必要的API密钥:
OPENAI_API_KEY=你的OpenAI API密钥
ANTHROPIC_API_KEY=你的Anthropic API密钥

2. 基本使用方法

2.1 创建简单的AI代理

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
async def main():
agent = Agent(
task="查找特定航班信息",
llm=ChatOpenAI(model="gpt-4"),
)
result = await agent.run()
print(result)
asyncio.run(main())

2.2 注册自定义动作

可以通过装饰器方式添加自定义动作:

from browser_use.controller.service import Controller
controller = Controller()
@controller.action('询问用户信息')
def ask_human(question: str, display_question: bool) -> str:
return input(f'\n{question}\nInput: ')

2.3 使用Pydantic定义参数模型

from pydantic import BaseModel
from typing import Optional
class JobDetails(BaseModel):
title: str
company: str
job_link: str
salary: Optional[str] = None
@controller.action('保存职位详情', param_model=JobDetails, requires_browser=True)
async def save_job(params: JobDetails, browser: Browser):
print(params)
page = browser.get_current_page()
page.go_to(params.job_link)

3. 高级功能使用

3.1 并行化代理

推荐使用单一Browser实例并为每个代理并行化上下文:

browser = Browser()
for i in range(10):
async with browser.new_context() as context:
agent = Agent(
task=f"任务 {i}",
llm=model,
browser_context=context
)
# 处理任务...

3.2 浏览器配置

可以通过BrowserConfig和BrowserContextConfig类配置浏览器行为:

browser_config = BrowserConfig(
headless=False,  # 是否使用无头模式
keep_open=True,  # 脚本结束后保持浏览器开启
disable_security=True,  # 禁用安全特性
cookies_file="cookies.json",  # Cookie存储文件
minimum_wait_page_load_time=1.0,  # 最小页面加载等待时间
wait_for_network_idle_page_load_time=2.0,  # 网络空闲等待时间
maximum_wait_page_load_time=10.0  # 最大页面加载等待时间
)

4. 性能优化建议

  1. 使用适当的页面加载等待时间,避免过长等待
  2. 合理使用并行化功能,提高处理效率
  3. 适时启用无头模式减少资源占用
  4. 使用Cookie持久化减少重复认证
  5. 根据需要调整安全特性配置

5. 故障排除

  1. 如遇到跨域请求问题,考虑启用disable_security选项
  2. 页面加载超时可调整相关等待时间参数
  3. 确保API密钥配置正确
  4. 检查网络连接状态
  5. 查看浏览器控制台日志获取详细错误信息
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » Browser-Use:构建智能网页自动化工具,让AI智能体轻松操作浏览器

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文