Field Notes · 浏览器控制协议
两种浏览器控制协议 一次性看懂

WebDriver BiDivsWebMCP

它们都叫"控制浏览器的协议",却解决完全不同时代完全不同层级的问题——一个面向自动化脚本,一个面向 AI 智能体。理解它们的边界,比记住名字更重要。

WebDriver BiDi · 自动化 WebMCP · AI Agent
01
Definition

先把两者定位讲清

Protocol · BiDi
WebDriver BiDi

外部程序远程驱动浏览器的协议。Selenium、Puppeteer、Playwright 基于它打开标签页、点击按钮、监听网络、抓取 DOM。浏览器是被操控的客户端。

Protocol · MCP
WebMCP

网站自身向浏览器内 AI Agent 暴露能力的协议。网站声明"我支持搜索 / 加购 / 下单",Agent 直接调用结构化工具,而不再模拟鼠标点界面。

核心分野两者不是替代关系,而是不同层级的两套协议——未来很可能在同一个浏览器里并存。
02
Analogy

用一个比喻立刻区分

BIDI · REMOTE

BiDi = 浏览器的遥控器

外部脚本通过 WebSocket 连入浏览器,双向通信。浏览器把自己当成被远程操控的设备,吐出底层事件——DOM 变化、网络请求、控制台日志。

MCP · INTERFACE

WebMCP = 网站给 AI 开的业务 API 门

网站主动注册一组结构化工具,浏览器里的 AI Agent 以函数调用方式触发业务动作。绕开脆弱的 DOM 模拟,进入语义层操作。

03
Side by Side

八个维度并列对照

维度WebDriver BiDiWebMCP
协议定位浏览器自动化协议(外部 → 浏览器)网页与 AI Agent 的通信协议(网站 → 浏览器内 Agent)
主要使用者测试工程师 · 爬虫 · RPA · DevOps网站开发者 · AI Agent · 浏览器内置 AI
控制粒度底层:DOM、网络、JS 执行、Cookies、事件业务:网站自定义的"工具"(下单 · 搜索 · 收藏)
连接方向外部进程经 WebSocket 连入浏览器,双向通信同源页面经 JS API 向浏览器内 Agent 声明能力
需要网站配合?不需要——黑盒驱动任意网站需要——网站主动暴露 WebMCP 工具
标准化进度W3C 已有规范,Chrome / Firefox / Edge 都在实现Chrome 146 早期预览,Chrome 149 Origin Trial,仅 Chrome
成熟度较成熟,可生产使用 STABLE实验/原型期 EXPERIMENTAL
取代关系逐步取代 CDP(Chrome 专有)与 WebDriver Classic不取代 BiDi,补全 AI ↔ 网站语义层的桥梁
04
Common Ground

它们之间真正的联系

同一个时代趋势

都在追求"让程序更可靠地操作浏览器"——只是面对的"程序"不同:一个是脚本,一个是 AI。

都推崇结构化与双向通信

双向、事件驱动、结构化交互是两者共有的设计哲学,目的都是替换脆弱的"模拟点击"。

可组合在一栈中

外部 Agent 经 BiDi 启动并接管浏览器,浏览器内 AI 再经 WebMCP 调用网站工具,形成上下两层。

背后都有 Chrome 团队推动

Google / Chrome 在 W3C 与 Origin Trial 中同时推进两条协议,但定位互不冲突。

05
Use Cases

典型适用场景各四例

Use With BiDi

  1. 端到端自动化测试(Selenium / Playwright / Puppeteer)
  2. 动态渲染网站的爬虫抓取与数据采集
  3. RPA 流程:跨网站批量表单填写与任务执行
  4. 浏览器层性能监测、网络拦截与调试工具

Use With WebMCP

  1. 电商网站让 AI 直接调用"搜索 / 加购 / 下单"工具
  2. SaaS 后台暴露"创建工单 / 导出报表"给浏览器 Agent
  3. 替代脆弱的 DOM 模拟点击,让 AI 操作稳定可解释
  4. 网站可控地"对 AI 友好"——定义哪些动作允许被代理
06
Code Feel

代码风格速览

BiDi · Playwrightexternal driver
// 外部脚本经 WebSocket 连接浏览器
const session = await chromium.connect({
  wsEndpoint: 'ws://localhost:9222'
});
const page = await session.newPage();
await page.goto('https://example.com');

// BiDi 核心:双向 + 事件驱动
page.on('console', msg => {
  console.log(msg.text());
});

await page.click('button#buy');
await page.waitForResponse('**/checkout');
WebMCP · in-pagewebsite declares tools
// 网站端:注册一个可被 Agent 调用的工具
navigator.modelContext.registerTool({
  name: 'addToCart',
  description: '将商品加入购物车',
  inputSchema: {
    type: 'object',
    properties: {
      productId: { type: 'string' }
    },
    required: ['productId']
  },
  async handler({ productId }) {
    await cart.add(productId);
    return { ok: true };
  }
});

注:以上为示意写法,真实 API 形态以 Chrome 官方 Origin Trial 文档为准。

07
Timeline · to 2026

最新进展时间线

2018
BiDi 在 W3C 立项 BiDi

W3C 浏览器测试工作组启动 WebDriver BiDi 规范,目标统一 WebDriver Classic 与 Chrome DevTools Protocol。

2023 – 2024
浏览器与工具链落地 BiDi

Chrome / Firefox / Edge 陆续实现 BiDi,Puppeteer 与 Selenium 4 接入,生态从规范走向工程。

2025
BiDi 进入主流测试栈 BiDi

Playwright 也开始迁移至 BiDi。CDP 仍作 Chrome 高级功能补充,但默认协议地位被动摇。

2026 · 02  |  Chrome 146
WebMCP Early Preview 上线 MCP

Google 公布 WebMCP 提案与早期预览,定义 Declarative 与 Imperative 两条 API 路径。

2026  |  Google I/O
"AI on Chrome" 战略亮相 MCP

Google 正式将 WebMCP 纳入 AI on Chrome 战略,定位为 AI Agent 时代的网页交互标准。

2026  |  Chrome 149
进入 Origin Trial MCP

开发者可在生产域名注册启用 WebMCP,仍仅限 Chrome;跨浏览器支持列入后续路线图。

NOW · 2026.05
两者并行

BiDi 接近替代 CDP 成为跨浏览器自动化默认协议;WebMCP 仍是 Chrome 内的实验标准,等待其他厂商跟进。

08
Decision

该选哪个:四个判断

你在做 测试 · 爬虫 · 自动化
USE · WebDriver BiDi
AI Agent 操作自家网页,且能改网站代码
USE · WebMCP
让 AI Agent 操作 无法修改的第三方网站
FALL BACK · BiDi / CDP / DOM
Chrome 深度调试 · 性能分析
KEEP · Chrome DevTools Protocol

未来 2–3 年,BiDi 将稳坐跨浏览器自动化的事实标准;WebMCP 的命运取决于 Safari 与 Firefox 是否跟进

09
References

参考来源

顺着下面这些一手资料继续读,状态以 Chrome 官方文档为准: