别再踩坑了!三款 AI 浏览器自动化工具横评:browser-harness、Midscene、Stagehand 选型实战指南
browser-harness、Midscene、Stagehand 是 2026 年最受关注的三款 AI 浏览器自动化工具,各有侧重。本文从架构原理、核心能力、上手成本三个维度深度拆解,帮测试工程师找到最适合自己项目的那一款。
browser-harnessMidsceneStagehandAI 浏览器自动化测试工具选型

上个月我问了十几个测试工程师同一个问题:你们团队现在用什么做浏览器自动化?
答案五花八门。有人还在死守 Selenium,有人刚迁移到 Playwright,还有人已经在试各种 AI 方案了。但问到 browser-harness、Midscene、Stagehand 这三款新工具,大多数人要么没听说,要么听说了但不知道该选哪个。
这篇文章就把这三款工具的核心差异说清楚,不废话,直接给结论,最后给你一个选型决策框架。
一、旧工具为什么开始撑不住了
Playwright 很好用,但它有一个根本性的缺陷:脆。页面改了一个 class 名、换了个 ID,你的测试脚本就跑不过了。维护成本随着业务迭代呈指数级增长。
更头疼的是,UI 自动化本来是为了省事的,结果三分之一的时间都在修选择器。你可能碰到过这种情况:产品昨晚上线了一个改版,今早 CI 全红,一看根本不是功能问题,就是几个 CSS 类名变了。
AI 驱动的浏览器自动化工具就是为了解决这个痛点来的。它们不依赖 DOM 选择器,而是用自然语言描述操作,让 AI 去”看懂”页面,找到对应的元素。
传统 vs AI 驱动浏览器自动化对比
二、三款工具快速定位
在深入对比之前,先用一句话给每款工具定个位,方便你快速判断方向:
| 🔧browser-harnessPython 全自主 Agent,自我进化型架构 | 👁️Midscene视觉驱动,Web + 桌面 + 移动全平台 | ⚡StagehandTypeScript 混合架构,数据提取之王 |
三款工具核心能力特性
三、browser-harness:最像”活的”工具
browser-harness 来自 Browser Use 团队,这是他们做的第二款工具。第一款 browser-use 是一个 AI 浏览器代理框架,拿了很多 GitHub Star。browser-harness 更进一步,专注于”自愈”和”自进化”。
它的架构非常独特:整个 harness 只有约 600 行 Python,核心是受保护的,但 agent_helpers.py 是完全开放可编辑的。当 agent 在执行任务时发现缺少某个能力,它会自动把缺失的 helper 函数写进这个文件。下次再遇到同类任务,直接复用,不用重新推理。
还有一个亮点是 Domain Skills 系统:社区为 LinkedIn、Amazon、GitHub 等常见站点贡献了专属”playbook”。这些 skill 是 agent 生成的,不是人工手写的,可靠性更高。
适合场景
-
需要完成端到端的复杂任务(比如”帮我在 LinkedIn 上给这 50 个人发消息”) -
团队主力语言是 Python,不想引入 TypeScript 依赖 -
想要透明、可调试的轻量架构 -
需要免费的远程浏览器(自带代理和验证码破解,3 个并发免费)
主要短板
-
项目最新,生态比另外两款小 -
仅支持 Web,没有桌面和移动端 -
免费并发只有 3 个,大规模并行需要付费
一句话概括:browser-harness 适合构建能自主完成任务的 AI agent,而不仅仅是跑自动化测试用例。
四、Midscene:视觉驱动的多平台王者
Midscene 是字节跳动开源的产品,GitHub 上有 1.2 万 Star,排过 Trending 前三。它最大的差异化优势是真正的跨平台支持:Web(Puppeteer/Playwright)、桌面(macOS/Windows/Linux)、移动端(iOS/Android/HarmonyOS),一套 API。
实现原理是视觉驱动的。Midscene 不依赖 DOM 结构,而是通过多模态视觉模型”看懂”屏幕上的内容,然后决定在哪里点、在哪里输入。这让它能处理传统 DOM API 无法覆盖的场景,比如 Canvas 渲染的复杂 UI、原生桌面应用、移动端 App。
模型选择上很灵活:Doubao Seed 针对 UI 识别优化,Qwen3-VL 性价比高,Gemini 3 Pro 多模态能力强。你可以给不同任务配不同的模型,规划阶段用便宜模型,精细操作用贵但准的模型。
Midscene 视觉驱动自动化工作流
适合场景
-
测试范围横跨 Web、桌面、移动端的团队 -
测试 Canvas 渲染 UI、游戏界面、复杂图表等非标准 DOM 场景 -
需要企业级背书和长期维护保障 -
YAML 工作流偏好者
主要短板
-
视觉推理比 DOM 操作慢,单步操作 2-5 秒 -
多模态模型调用成本较高 -
初次配置相对复杂,学习曲线略陡
一句话概括:Midscene 是需要覆盖多平台的测试团队的首选,尤其擅长视觉复杂、DOM 难以触及的 UI 场景。
五、Stagehand:从 Playwright 平滑过渡的最优路径
Stagehand 是 Browserbase 开源的,设计目标非常清晰:让已经在用 Playwright 的团队,以最小代价引入 AI 能力。
它的核心是四个 API:act() 执行操作、extract() 提取数据、observe() 识别可操作元素、agent() 跑多步工作流。这四个 API 可以和原生 Playwright 代码混用,你不需要重写已有的测试脚本,只在需要智能处理的地方换成 AI 调用。
extract() 是 Stagehand 最强的地方。结合 Zod Schema,你可以精确描述想要的数据结构,Stagehand 会自动从页面提取并返回强类型结果。没有 API 的网站、需要从复杂 HTML 中抓结构化数据的场景,这个能力省去了大量手写解析逻辑。
constresult = awaitstagehand.page.extract({
instruction: "提取所有商品的名称和价格",
schema: z.object({
products: z.array(z.object({
name: z.string(),
price: z.number()
}))
})
});
这段代码直接返回带类型的结构化结果,不需要自己解析 DOM。
适合场景
-
已有 Playwright 测试资产,想增量引入 AI 能力 -
数据爬取和结构化提取是主要需求 -
TypeScript 技术栈团队 -
需要确定性 + AI 混合工作流,控制执行成本
主要短板
-
仅支持 Web,没有移动端和桌面端能力 -
Python 支持是后来加的,生态成熟度不如 TypeScript 端 -
生产环境最佳体验依赖 Browserbase 云服务(商业产品)
一句话概括:Stagehand 是从 Playwright 向 AI 自动化演进的最平滑路径,extract() 是目前三款里最好用的数据提取方案。
六、测试工程师选型决策矩阵
说了这么多,来一张清单,对号入座:
测试工程师选型决策树
如果你更喜欢直接看表格,这里是核心维度横向对比:
|
|
|
|
|
|
|
|
|
|
|
|
|
Web+桌面+移动 |
|
|
|
|
|
|
|
|
|
|
最强(Zod Schema) |
|
|
最强(自进化) |
|
|
|
|
|
|
|
|
|
|
|
|
七、实战建议:别对立,可以共存
一个实际场景:你在一个中型团队做测试,负责 Web 端 E2E 和移动端冒烟测试,偶尔还要爬取竞品数据。
这种情况完全可以三款一起用:
- Stagehand 做 Web E2E
:把老 Playwright 脚本里最容易烂的选择器部分替换掉,用 act() 描述操作意图,失效率直降 - Midscene 做移动端冒烟
:iOS/Android 一套 YAML 描述,不用维护两份脚本 - browser-harness 做竞品监控
:自然语言描述任务,agent 自动处理登录、翻页、提取,不需要写一行选择器
三款工具的 LLM 成本都可控。以 Claude Sonnet 4.6 为例,Stagehand 单次操作成本在 $0.002-0.02 之间。一个 500 步的测试套件跑下来,成本大概是一杯咖啡。
注意一点:这三款工具都依赖外部 LLM API,执行速度都比原生 Playwright 慢(1-5 秒 vs 100ms)。如果你有大量需要毫秒级执行的性能测试,传统工具依然是更好的选择。
总结
这三款工具都代表了 AI 驱动自动化的不同路径:browser-harness 追求极致的自主性,Midscene 追求跨平台覆盖,Stagehand 追求与现有工程体系的融合度。
选型不是选最好的,是选最适合当前团队和项目阶段的。
测试工程师的最优路径:先用 Stagehand 替换现有脚本中最难维护的部分,感受 AI 自动化的收益;移动端再引入 Midscene;等需要构建真正的自主 agent 时,再考虑 browser-harness。
3 条行动建议:
-
今天就克隆 browser-harness 跑一下 README 里的示例,20 分钟内就能看到 agent 自己写 helper 代码的过程 -
找你们测试套件里最近一个月改了 3 次以上的选择器,用 Stagehand 的 act() 重写,对比一下维护成本 -
如果你们有移动端测试需求,给 Midscene 的 YAML 工作流模式 15 分钟,看看能不能覆盖你们的冒烟用例
参考资料[1] browser-harness 项目:https://github.com/browser-use/browser-harness
[2] Midscene 项目:https://github.com/web-infra-dev/midscene
[3] Stagehand 项目:https://github.com/browserbase/stagehand
[4] Browser Use 官网:https://browser-use.com
夜雨聆风