Browser Use 完全指南:让AI自动控制浏览器

什么是 Browser Use?

Browser Use 是一个开源的 Python 库,它允许 AI 大型语言模型(LLM)自动控制和操作网页浏览器。通过 Browser Use,你可以让 AI 像人类一样浏览网页、点击按钮、填写表单、提取数据,从而实现各种自动化任务。

Browser Use 的核心特性

  • 多模型支持:支持 OpenAI GPT-4、Claude、Gemini 等主流 LLM
  • 视觉感知:AI 可以看到网页截图并理解页面内容
  • 智能交互:自动识别可交互元素(按钮、链接、输入框等)
  • 任务规划:AI 会自动规划步骤完成复杂任务
  • 并行处理:支持多个浏览器实例并行运行

快速开始

1. 安装 Browser Use

pip install browser-use playwright install chromium

2. 配置 API 密钥

创建 .env 文件并配置你的 LLM API 密钥:

OPENAI_API_KEY=your_api_key_here # 或者使用其他模型 ANTHROPIC_API_KEY=your_anthropic_key

3. 编写你的第一个 Browser Use 脚本

import asyncio from langchain_openai import ChatOpenAI from browser_use import Agent async def main(): agent = Agent( task="搜索最新的 Python 教程并总结前3个结果", llm=ChatOpenAI(model="gpt-4o"), ) result = await agent.run() print(result) asyncio.run(main())

核心组件详解

Agent(智能体)

Agent 是 Browser Use 的核心,它负责:

  • 接收用户任务描述
  • 与 LLM 通信,规划执行步骤
  • 控制浏览器完成各项操作
  • 收集并返回结果

Browser(浏览器)

Browser Use 基于 Playwright 构建,支持:

  • Chromium、Firefox、WebKit 等多种浏览器
  • 无头模式(Headless)和有界面模式
  • 自定义浏览器配置

实际应用案例

案例1:自动化数据收集

agent = Agent( task="访问 https://example.com/products,提取所有产品名称和价格,保存为列表", llm=ChatOpenAI(model="gpt-4o"), ) result = await agent.run()

案例2:自动填写表单

agent = Agent( task="打开 Gmail,给 [email protected] 发送一封主题为'测试'的邮件,内容为'Hello World'", llm=ChatOpenAI(model="gpt-4o"), ) result = await agent.run()

案例3:网页内容分析

agent = Agent( task="搜索'Python机器学习',打开前5个结果,总结每个页面的主要内容", llm=ChatOpenAI(model="gpt-4o"), ) result = await agent.run()

高级配置

自定义浏览器设置

from browser_use import Agent, Browser, BrowserConfig browser = Browser( config=BrowserConfig( headless=False, # 显示浏览器界面 chrome_instance_path='/usr/bin/google-chrome', ) ) agent = Agent( task="你的任务", llm=ChatOpenAI(model="gpt-4o"), browser=browser, ) result = await agent.run() await browser.close()

使用不同的 LLM 模型

# 使用 Claude from langchain_anthropic import ChatAnthropic agent = Agent( task="你的任务", llm=ChatAnthropic(model_name="claude-3-5-sonnet-20241022"), ) # 使用 Gemini from langchain_google_genai import ChatGoogleGenerativeAI agent = Agent( task="你的任务", llm=ChatGoogleGenerativeAI(model="gemini-2.0-flash-exp"), )

注意事项与最佳实践

  1. 清晰的任务描述:越详细的任务描述,AI 执行得越准确
  2. 控制成本:复杂任务会消耗较多 token,注意 API 费用
  3. 安全性:不要让 AI 执行涉及敏感信息的操作
  4. 错误处理:添加适当的异常处理机制
  5. 测试验证:先在测试环境中验证脚本

总结

Browser Use 是一个强大的 AI 浏览器自动化工具,它大大简化了网页自动化的复杂度。通过自然语言描述任务,AI 可以自动完成各种浏览器操作,无需编写复杂的选择器或脚本。随着 LLM 技术的不断发展,Browser Use 将在数据采集、测试自动化、信息整合等领域发挥越来越重要的作用。

如果你对 AI 自动化感兴趣,不妨立即尝试 Browser Use,体验 AI 控制浏览器的神奇魅力!

Read more

WebGIS视角下基孔肯雅热流行风险地区分类实战解析

WebGIS视角下基孔肯雅热流行风险地区分类实战解析

目录 前言 一、关于基孔肯雅热 1、病原学特征 2、流行病学特征 3、疫情处置 4、预防措施 二、流行风险地区空间可视化 1、流行风险地区分类标准 2、空间查询基础 3、Leaflet空间可视化 三、流行风险地区WebGIS展示 1、Ⅰ类地区 2、Ⅱ类地区 3、Ⅲ类地区 4、Ⅳ类地区 四、总结 前言         在全球化与城市化进程不断加速的当下,传染病的传播范围与速度呈现出前所未有的态势,给公共卫生安全带来了严峻挑战。基孔肯雅热作为一种由基孔肯雅病毒引起的急性传染病,近年来在多个地区引发疫情,其传播速度快、感染范围广,且易与其他蚊媒传染病叠加流行,严重威胁着人类健康和社会稳定。准确划分基孔肯雅热流行风险地区,对于制定科学合理的防控策略、优化医疗资源配置以及提高公众防范意识具有至关重要的意义。         本研究旨在通过系统梳理 WebGIS 技术在传染病流行风险评估中的应用现状与优势,结合基孔肯雅热的流行特点和防控需求,构建一套基于

前端科技新闻(WTN-4)你用了免费的 Trae 编辑器吗?排队多少名?我排在1584名

前端科技新闻(WTN-4)你用了免费的 Trae 编辑器吗?排队多少名?我排在1584名

写在前面,怎么说呢?首先是为了支持国产,用于偷懒写git摘要和部分内容的代码补充还是有些效率提升的,但是plan模式,基本上没怎么完成过。可能是项目不太标准的原因,要是做已经成熟的产品副本或许更简单- 突然有了个点子,找那些收费高卖的贵的,出青春版,或许有搞头。 也是首次,发现需要排队了,哈哈哈哈哈哈哈哈哈,让我想起某些游戏,付费插队 一、技术快讯|一次普通的 i18n 任务,却排到 1500 名之后 最近在使用 Trae 编辑器(免费版) 时,遇到了一件颇具“时代特色”的小插曲。 我只是想让 AI 帮忙做一个非常常规的工程任务: * 扫描页面组件 * 提取未国际化的中文文案 * 生成 key-value * 替换为统一的 $t('xxx') 调用 * 保证多语言资源文件结构一致 点击执行后,编辑器并没有立刻开始处理,而是弹出了一条提示:

服务端之NestJS接口响应message编写规范详解、写给前后端都舒服的接口、API提示信息标准化

服务端之NestJS接口响应message编写规范详解、写给前后端都舒服的接口、API提示信息标准化

MENU * 前言 * 定义 * 提示信息设计原则 * 提示信息风格分类 * 提示信息模板化设计 * 国际化与多语言支持 * 最佳实践 * 参考示例(NestJS响应) * 总结 * 统一风格示例清单推荐 * API响应message清单(可直接使用) 前言 在现代后端开发中,接口响应不仅仅是数据的传递,还承担着向前端或用户传递操作状态和结果的功能。一个规范、统一的message字段设计,可以显著提升系统的可维护性、前端开发效率和用户体验。 定义 响应结构示例(NestJS风格) 各字段作用 提示信息设计原则 简洁明了 1、不宜过长,一般3~12个汉字。 2、避免含糊不清的词,如“完成了”、“OK”等。 统一风格 1、同一项目接口建议使用统一动词+状态组合,例如:获取数据成功、数据加载完成。 上下文清晰 1、提示信息应体现操作对象或类型,如“用户列表获取成功”