跳转到正文
莫尔索随笔
返回

Browser Use 完整指南:从浏览器会话到可靠的 AI 自动化

预计 10 分钟
编辑此页

本文面向想快速理解 Browser Use 用途的业务负责人,以及准备把 Browser Use 用到真实自动化任务里的工程师。

为什么 Browser Use 值得单独讨论

Browser Use 是面向 AI Agent 的浏览器自动化与交互式抓取工具。它的意义不在于替代所有已有抓取器,而在于把浏览器操作从脚本驱动推进到任务驱动。

传统浏览器抓取和自动化工具通常要求开发者预先写好流程:打开页面、定位元素、点击按钮、提取字段、处理异常。Browser Use 试图把这套流程上移一层,让模型直接接收自然语言目标,再由系统完成导航、点击、输入、滚动、提取和跨页面推进。

这使它和传统工具有三个核心差异:

  • 输入不再只是 URL 或脚本,而是任务描述
  • 执行过程包含多步交互,而不是单页提取
  • 状态管理围绕 browser session 展开,而不是一次性请求

如果只看单页内容提取,Browser Use 可能显得比基础抓取器更重;但如果任务包含登录、筛选、分页、表单、弹窗、搜索和跨页面跳转,Browser Use 的抽象层级会更接近真实需求。

Web Scraping 在 2026 年发生了什么变化

根据 Browser Use 官方文章 The Ultimate Guide to Web Scraping (2026),2026 年的 Web Scraping 已经清晰分成两类:基础抓取与交互式抓取。

基础抓取面向的是页面内容已经存在于目标 URL 中的场景。常见任务包括:

  • 抓取博客、文档、新闻和公开目录
  • 爬取 sitemap 或站点链接结构
  • 抽取公开页面中的结构化数据

这类任务的核心问题是页面解析、格式清洗和结构化输出。随着 Firecrawl、Cloudflare Browser Rendering 这类产品成熟,公开页面内容抓取正在快速商品化。

交互式抓取解决的是另一类问题:数据并不直接出现在一个静态页面里,而是在交互之后才出现。常见场景包括:

  • 登录后页面
  • 搜索框和筛选器后的结果页
  • 需要分页、点击 Load more 或切换标签页的流程
  • 带模态框、滚动加载和动态内容的网站

这也是 Browser Use 的切入点。它把 Web Scraping 和浏览器自动化合并到一个统一执行面里,让系统可以围绕任务推进,而不是围绕页面结构写死流程。

Browser Use 的产品定位与能力边界

Browser Use 的核心能力可以归纳为六类:

  • 用自然语言描述任务
  • 进行浏览器导航、点击、输入和滚动
  • 从受保护页面提取结构化结果
  • 执行多步流程
  • 使用远程 stealth browser、代理和验证码处理能力
  • 接入外部系统完成后续写入或通知

它在工具谱系中的位置相对清楚。

FirecrawlCloudflare Browser Rendering 相比,Browser Use 更偏交互式抓取。前两者更适合基础抓取,关注抓页面、转 Markdown、转 JSON、爬整站。Browser Use 处理的是打开页面之后继续操作的问题。

BrowserbaseStagehand 相比,Browser Use 更偏完整任务执行。Stagehand 更像为浏览器自动化提供自然语言原语,围绕 observe、act、extract 这些能力构建;Browser Use 更接近一个可直接执行任务的浏览器 Agent 层,官方文章里的 benchmark 也说明了这一定位:

  • 在 Browser Use 官方 Stealth Benchmark 中,Browser Use Cloud 的成功率是 81%,Browserbase 是 42%
  • 在 Halluminate 的 BrowserBench 中,Browser Use Cloud 是 84.8%,Browserbase 是 70.3%

这些数字不应被理解成 Browser Use 在所有抓取任务中都优于其他工具。更合理的解释是:当任务进入受保护站点、复杂页面状态和多步交互区间时,Browser Use 的抽象更接近问题本身。

为什么 browser session 是可靠自动化的基础

如果没有 browser session,很多浏览器自动化都只能停留在单次脚本层面,browser session 保存的不只是一个浏览器进程,它还承载:

  • cookies
  • localStorage
  • tabs
  • 当前页面上下文

这些状态决定了任务是否能够连续执行。对 Agent 自动化来说,browser session 至少解决四类问题:

  • 多轮任务续跑
  • 登录态复用
  • post-login workflow 复用
  • follow-up task 继承上下文

这也是 Browser Use 里 Browser ≈ BrowserSession 这个心智模型的重要性所在。真正需要被管理的对象,不只是浏览器实例,而是一段具备状态延续能力的自动化上下文。

browser-use 的 API 里,明确点出了几项关键配置:

  • keep_alive:任务结束后保留会话,方便继续执行后续任务
  • user_data_dirprofile_directory:复用真实 Chrome 配置目录、书签、扩展和已有登录态
  • storage_state:通过 cookies 或 localStorage 快照启动已认证状态
  • allowed_domains:限制可访问域名范围,降低自动化失控风险

如果把 Browser Use 用在生产环境里,browser session 应该被当作一等资源来管理。任务是否共享会话、会话是否可复用、哪些状态允许继承、哪些状态必须隔离,这些都直接影响可靠性和风险边界。

把 Browser Use 用到真实任务里时,稳定性取决于什么

Anthropic 的文章 Best practices for computer and browser use with Claude 讨论的是 Claude 的 computer use 和 browser use,但其中很多工程规律同样适用于 Browser Use。

第一类问题是分辨率与缩放。点击准确率首先取决于截图尺度控制。如果截图超出模型处理上限,系统会自动下采样,模型看到的图像和执行层的坐标空间就会错位。对于 Browser Use 这类依赖视觉和页面状态的自动化,这个问题会直接放大成点击偏移和流程失败。

一个稳妥做法是:

  • 统一截图尺度
  • 避免直接发送原始高分辨率截图
  • 记录显示分辨率与实际执行分辨率的映射关系
  • 在 MacOS 环境特别注意设备像素比

第二类问题是工具设计。Anthropic 的建议是不要把所有事情都压到单一浏览器工具包里。浏览器工具适合页面交互,但文本编辑、脚本执行、结构化后处理、日志诊断,往往更适合交给其他工具完成。把这个思路迁移到 Browser Use 上,比较合理的方式是:

  • 浏览器层负责导航、交互和页面提取
  • 计算工具负责清洗、转换、校验和写入
  • 任务编排器负责在不同工具之间切换

第三类问题是长任务上下文管理。Anthropic 对长会话给出的经验很有参考价值:

  • 用滚动窗口保留最近几轮有效状态
  • 对旧截图做占位符替换
  • 通过服务端压缩保留任务目标、已完成动作、失败路径和下一步计划
  • 在客户端再做一层历史裁剪,避免上下文不断膨胀

对于 Browser Use,这意味着不能把长任务理解为无限堆叠的浏览器历史。真正有效的上下文,应该围绕任务状态而不是全部原始轨迹组织。

第四类问题是 prompt caching 与长会话成本控制。Anthropic 的建议是把稳定前缀、最近工具结果和压缩后的任务摘要拆开管理,让缓存命中尽可能覆盖长任务中的重复上下文。迁移到 Browser Use 时,这条经验同样成立:浏览器自动化的成本,很大一部分来自反复重复相同背景信息,而不是实际动作本身。

第五类问题是 batch actions。batch actions 能减少往返次数和输出 token,但一旦前置动作失败,后续动作会基于过时状态继续执行。Browser Use 做复杂页面任务时,也要遵守同样原则:

  • 对机械性、彼此独立的动作可以批量化
  • 对依赖页面反馈的探索性动作,不要过度批量化

Browser Use 适合什么,不适合什么

Browser Use 更适合这些任务:

  • 登录后数据提取
  • 多步搜索与筛选
  • 需要跨页面操作的采集任务
  • 需要复用会话状态的自动化流程

它也不适合一些场景:

  • 单页公开内容抓取且对成本极敏感的任务
  • 可以直接靠稳定 API 完成的任务
  • 需要严格确定性、零交互偏差的核心事务流

一个实用判断是:Browser Use 更接近浏览器中的 Agent 执行层。它适合解决页面交互、会话连续性和复杂流程穿透的问题,但不应替代所有 API、脚本或专用抓取器。

如果一个任务只是页面内容提取,那么 Firecrawl 或 Cloudflare Browser Rendering 可能更便宜。如果一个任务已经有稳定 API,那么直接调用 API 通常更可靠。如果一个任务要求强事务性和严格确定性,那么浏览器自动化本身就应该退到次选。

一个更合理的 Browser Use 架构用法

把 Browser Use 放进真实系统时,更合理的方式是将它纳入一个分层架构,而不是作为单独脚本直接运行。

上层是任务编排器或 Agent。它负责接收用户目标、决定是否调用浏览器执行层、管理任务状态和后续写入流程。

中层是 Browser Use 会话管理层。它负责:

  • browser session 生命周期
  • 提示词模板
  • 失败重试
  • 域名范围控制
  • 页面快照与事件日志

下层是执行与集成层。它负责:

  • 代理
  • 验证码处理
  • 结构化输出
  • 外部系统集成

如果要给 Browser Use 一个生产使用方法论,这一层最值得固定成团队约束:

  • session 作为一等对象管理
  • 域名访问范围最小化
  • 将抓取与写入拆成两个阶段
  • 对多步动作设置检查点
  • 用结构化输出约束最终结果
  • 保留事件日志和失败快照

这几条原则能把 Browser Use 从演示级自动化提升到工程级自动化。它们关注的重点是系统能否在失败后恢复、在成功后复用、在规模化时审计。

最后

Browser Use 的价值不只在于能操作浏览器。它真正解决的是 Agent 在真实网页环境中的连续性、交互性和可执行性。

在整个 AI 自动化栈里,Browser Use 更适合被看作浏览器执行层。它向上承接任务目标,向下连接代理、页面、验证码、结构化输出和外部系统。真正决定成败的因素,也主要集中在这一层之外的工程问题:

  • session 管理
  • 任务边界
  • 提示词设计
  • 安全约束
  • 成本控制

如果你的任务落在登录后流程、多步筛选、复杂页面交互和会话复用这些区域,Browser Use 很值得认真评估。如果你的任务已经能被 API 或基础抓取器稳定解决,那么 Browser Use 不一定是最优解。

参考来源


编辑此页