让 AI 自己操作浏览器:Browser-Use 把自然语言变成自动化流程

写网页自动化的工程师都经历过这种循环:写好选择器 → 跑通 → 两星期后页面改版 → 全废 → 重新定位元素。

这套模式的根本问题在于,脚本和页面之间是硬绑定的。页面结构一变,选择器就失效;要处理"如果弹窗出现就关闭,否则继续"这类分支,就得堆一堆 if-else;一个流程里如果有七八种可能的状态,代码很快就没人敢改了。

更现实的问题是:业务人员根本没法维护这东西。他们最清楚流程该怎么走,但改一行都得找开发排期。

Browser-Use 换了个思路:让 AI 看着页面,自己决定下一步做什么。 你用自然语言描述任务,它自己规划步骤、自己找元素、自己处理意外。

README 开头的一句话很能说明它的野心——「像人一样浏览网页」,配的示例是:找一个可预约的时间段、选好日期和时间、处理验证码、然后预约驾驶考试。

注意这个例子里包含了验证码。这是传统脚本自动化最难处理的环节之一。

写选择器写到手软,页面一改全废

它到底怎么工作

核心机制是视觉理解 + 页面结构双通道。

传统方案只依赖 DOM:我知道按钮的 id 是 submit-btn,所以我点它。但页面上如果有三个长得差不多的提交按钮,靠 DOM 就很容易点错。

Browser-Use 让模型同时看渲染出来的页面和读页面结构。视觉让它知道"用户实际看到的是哪个按钮",DOM 让它知道"这个按钮背后的实际元素是什么"。两路信息合起来判断,容错率高得多——这也是为什么它对页面改版的耐受度比硬编码选择器强。

模型拿到任务后,会自己拆解成步骤序列,每执行一步就看一眼页面当前状态,再决定下一步。这个循环持续到任务完成。

核心特点

README 里还提到它支持结构化输出:你可以要求它按指定的数据结构返回结果,而不是给你一段自由文本。做数据提取类任务时,这一点很关键——下游要的是能直接入库的字段,不是一段描述。

和传统方案的实际差别

和传统方案的区别

这张对比不是要否定传统方案。两者适用场景其实不同。

传统脚本自动化的优势是确定性和速度:同一套流程跑一千次,每次行为完全一致,而且不消耗模型 token。如果你的目标网站结构稳定、流程固定、要高频执行——比如每天定时抓一次自家后台的数据——写脚本依然是更好的选择。用 AI 驱动反而引入不确定性,还更慢更贵。

Browser-Use 的优势在于处理不确定和一次性任务。比如:

给某个网站做一次数据梳理、帮非技术同事完成一套复杂表单填写、需要判断页面状态并做分支决策的流程。这类任务用脚本写性价比很低——投入大、复用次数少、维护成本高。

关于项目形态,有一点要看清

README 里明确说明了一件事,值得单独提醒:Browser Use 是一个组合体——开源浏览器 Agent(Python 和 TypeScript 都有)、一个按浏览器小时计费的云浏览器服务、以及一个托管的 Agent API。

这意味着你看到的"Browser-Use"能力,并不全在开源仓库里。云浏览器服务提供了隐身模式、验证码处理、住宅代理这类能力——这些恰恰是让它能在真实站点上稳定工作的关键部分,但它们是付费的托管服务。

所以选型时要分清:

开源部分自己能跑,适合结构相对规整的站点、内网系统、或者你已有代理方案的场景。模型可以用自己的 key,可控性在自己手上。

托管服务解决的是反爬对抗、验证码、IP 封锁这些运维层面的问题。如果你要抓的是防护严格的目标,这部分基本绕不开。

这不算是坑,官方开头就写清楚了。但看第三方推荐文章时容易被忽略——很多文章会把云服务的能力当成开源版的能力来讲。

上手路径

Python 和 TypeScript 都有官方实现,装好之后基本流程是:定义任务(自然语言)、指定用哪个模型、跑起来。

它对模型没有强制绑定,可以接多家。这点比绑定单一供应商的方案好——模型换代很快,前端能力跟不上时可以直接换后端。

README 里还指了一个细节:给 AI Agent 和爬虫看的索引文件(llms.txt),里面梳理了产品地图和文档索引。这个做法挺聪明——让 AI 读 AI 该读的东西,比让模型去啃人类文档效率高。

适合谁用

做自动化但不想维护脚本的人。业务流程会变,让浏览器 Agent 跟着变,比每周改选择器划算。

需要把自动化能力交给业务方的人。让业务同事自己用自然语言描述任务,比让他们提单给开发快得多。

做 Agent 产品的团队。浏览器操作是很多 Agent 场景的最后一公里——查资料、下单、填表、提交,都需要这一层。

不太适合的:

  • 高频、固定流程的任务。用脚本更快更省,AI 驱动是杀鸡用牛刀。
  • 对结果一致性要求极高的场景。模型的决策有随机性,跑一百次未必一百次一样。
  • 需要处理极复杂验证码的目标。这属于需要专门对抗能力的领域,不是通用 Agent 的强项。

项目地址: https://github.com/browser-use/browser-use


本文依据项目官方仓库 README 整理编写。项目区分开源实现与托管服务,选型前建议先确认各能力的归属与计费方式。