跳转到内容
全部开发指南

browser-use 入门教程,让 AI Agent 操作浏览器完成填表、抓数据和比价

AIGoCode发布于 更新于

一份求职表要填半天,几十个商品要挨个翻价格,一堆数据要一条条复制粘贴。这些事不难,但很耗时间。

browser-use 是一个让 AI 像人一样使用浏览器的开源项目:打开网页、点击按钮、输入文字、填写表单、抓取数据。把要做的事用自然语言描述清楚,剩下的交给它执行。项目使用 Python 编写,MIT 协议,可以在本地运行,GitHub star 数已超过 11 万,是同类开源方案中关注度最高的之一。

这篇文章介绍 browser-use 适合做什么、两种用法如何选择、如何接入不同大模型,以及在 Python 中跑通第一个浏览器 Agent 的步骤。适合想用 AI 自动化重复网页操作的开发者。

browser-use 原文配图 1

browser-use 适合做哪些浏览器自动化任务

最直接的用途是那些自己做起来很烦的重复网页操作:

  • 填写表单:把简历和个人信息交给它,它可以自动填完一整份求职申请,选好下拉框、补齐空白项。
  • 抓取数据:让它到指定页面把关注列表整理成结构化数据并导出 CSV,它会自己翻页、提取和整理。
  • 商品比价:给它三个商品链接,让它对比价格并列出表格,它会逐个打开页面再汇总。

这些任务的共同点是步骤不难但很磨人。人做需要一直盯着,交给 Agent 可以放手。

browser-use 原文配图 2

两种用法:Agent 技能与 Python 库

browser-use 有两种使用方式,适合的场景不同,上手前先分清。

作为技能装进 Claude Code、Codex 等 AI Agent

如果你已经在用 Claude Code、Cursor、Codex 或 OpenClaw 这类工具,可以把 browser-use 注册为一个技能。安装一次之后,直接告诉 Agent 要做什么,它就能操作浏览器完成。

官方提供了一段安装提示词,粘贴给 Agent 后,它会用 uv 在 Python 3.12 环境下安装 browser-use,并执行 browser-use skill install 注册技能,之后直接描述任务即可。

这种方式适合一次性的杂活,比如上传视频、填写申请、对比几样东西。

作为 Python 库写进自己的程序

如果要做可重复执行的自动化,例如批量抓取、定时监控、QA 测试,就使用 Python 库。几行代码可以启动一个浏览器 Agent,嵌入自己的程序,还能自定义工具和行为。

如何选择

场景推荐用法
偶尔一次的临时任务Agent 技能
需要写进代码反复执行Python 库

browser-use 原文配图 3

接入 OpenAI、Claude、Gemini 或本地模型

browser-use 不绑定特定模型,原生支持多家 LLM 提供商,包括 OpenAI、Anthropic、Google 等主流服务,也可以通过 Ollama 运行本地开源模型,不产生 API 费用。

项目还提供了专门针对浏览器操作优化的自家模型,通过 ChatBrowserUse 调用。官方称它在相同任务上比通用模型快 3 到 5 倍。

切换模型通常只需改一行代码。例如使用 OpenAI 或 Anthropic 时,分别导入 ChatOpenAI 或 ChatAnthropic,再填入对应的模型名称即可,其余代码不用修改。可用的模型名称以官方支持模型文档为准。

browser-use 原文配图 4

快速上手:跑通第一个浏览器 Agent

1. 安装

browser-use 需要 Python 3.11 及以上版本。官方推荐使用 uv:

uv init --python 3.12
uv add browser-use

也可以使用 pip:

pip install browser-use

2. 配置 API key

在项目根目录的 .env 文件中填入所选模型的 API key。例如使用 OpenAI:

OPENAI_API_KEY=your-key

如果使用 browser-use 自家模型或云端浏览器,还需要配置 BROWSER_USE_API_KEY。

3. 编写并运行 Agent

import asyncio
from dotenv import load_dotenv
from browser_use import Agent, ChatBrowserUse

load_dotenv()

async def main():
    agent = Agent(
        task="查一下 browser-use 这个仓库有多少 star",
        llm=ChatBrowserUse(),
    )
    history = await agent.run()
    print(history.final_result())

asyncio.run(main())

运行后可以看到它自己打开浏览器、导航、查找信息,最后输出答案。

开源版和云服务的边界

browser-use 能成为热门的开源方案,主要因为足够简单、足够开放:几行代码就能起步,模型可以随意更换,既能本地运行也能上云。

需要注意的是,它背后有一套商业云服务,用于处理反爬、验证码和大规模并行等开源版难以解决的问题。

  • 本机个人使用、做个人自动化:开源版完全够用。
  • 上生产、跑大规模任务:大概率需要云服务,成本要提前评估。

如果你在找一个浏览器自动化的底座,browser-use 值得放进工具箱。

参考链接