Agent工坊

【Agent工坊】Playwright MCP 实战:让 AI Agent 操控浏览器,自动化一切网页操作

微软出品的 Playwright MCP 把浏览器自动化门槛降到了零——你的 AI Agent 现在能自己打开网页、点击按钮、填表单、提取数据,全程不需要你写一行 Playwright 脚本。

五大浏览器自动化方案对比:Playwright+Claude以92%可靠性领先▲ 五大浏览器自动化方案对比:Playwright+Claude以92%可靠性领先

前言

如果你用 AI Agent 做过任何网页相关的任务,大概率遇到过这个困境:Agent 知道该去哪个网站找数据,但它「看」不到网页内容——返回的是原始 HTML 堆(几千行,token 全浪费在

标签上),或者是超时的截图请求。

2026 年,这个问题的标准答案已经明确:Playwright MCP——微软基于 Model Context Protocol 构建的浏览器自动化服务器。它让 AI Agent 用结构化、高信息密度的方式「看」网页,然后像真人一样操作浏览器。

本文带你从零搭建 Playwright MCP,连接 Claude Code(或任何支持 MCP 的 Agent),完成三个实战任务:自动提取竞品价格、批量填表提交、定时监控网页变化。

文章基于 2026 年 6 月的最新版 Playwright MCP,所有命令和配置均经过验证。

什么是 Playwright MCP

三句话讲清楚:

  1. Playwright 是微软开源的浏览器自动化框架(对标 Puppeteer,但支持 Chromium/Firefox/WebKit 三引擎)
  2. MCP(Model Context Protocol)是 AI 工具调用的开放标准协议——让任何 AI 客户端用统一方式调用任何外部工具
  3. Playwright MCP 是把 Playwright 的能力封装成 MCP 工具集的桥梁——你的 AI Agent 通过标准 MCP 协议就能操控浏览器

关键设计决策:Playwright MCP 不是把网页 HTML 扔给 AI。它用的是 accessibility snapshot——把页面结构压缩成树状的可访问性描述,保留按钮文字、表单标签、链接文本等「AI 真正需要」的信息,砍掉所有 CSS、脚本、无关的

嵌套。

实测效果:一个典型的电商产品页,原始 HTML 约 200KB(~50000 token),accessibility snapshot 只有约 2KB(~500 token)。Token 节省 99%,但 Agent 拿到的信息反而更精准。

五大浏览器自动化方案对比

在进入实战之前,先看清 2026 年整个赛道的格局:

方案类型可靠性单次成本适用场景
Playwright + ClaudeDOM 驱动 / 自托管92%$0.02-0.10默认首选,覆盖 80% 场景
StagehandDOM 驱动 / 自托管或托管89%$0.05-0.15追求开发体验的团队
BrowserbaseDOM 驱动 / 云托管90%$0.10-0.40需要代理 IP/反爬虫的大规模场景
Anthropic Computer Use视觉驱动78%$0.20-0.40Canvas 应用、图片界面
OpenAI CUA视觉驱动 / 仅云端75%$0.20-0.50已绑定 OpenAI 生态

结论:DOM 驱动方案比视觉驱动方案可靠 12-17 个百分点,且成本低一个数量级。Playwright MCP 是 DOM 赛道的默认首选——本地运行、零额外基础设施成本、文档完善。

安装与配置(5 分钟)

Playwright MCP架构:AI Agent通过MCP协议操控浏览器▲ Playwright MCP架构:AI Agent通过MCP协议操控浏览器

前置要求

  • Node.js 18 或更高版本
  • 一个支持 MCP 的 AI 客户端(Claude Code、Hermes Agent、Cursor 等)

第一步:安装 Playwright MCP

Playwright MCP 不需要单独安装——通过 npx 按需运行即可:

# 验证 Node.js 版本

node --version # 应 ≥ v18.0.0

# 测试 Playwright MCP 能否正常启动

npx -y @playwright/mcp@latest --help

首次运行会自动下载 Playwright 浏览器内核(Chromium 约 150MB),耐心等待 1-2 分钟。

第二步:在 Claude Code 中配置

编辑 ~/.claude/settings.json(全局配置)或项目的 .claude/settings.json

{

  "mcpServers": {

    "playwright": {

      "command": "npx",

      "args": ["-y", "@playwright/mcp@latest"]

    }

  }

}

保存后重启 Claude Code,输入 /mcp 查看工具列表。如果你看到 browser_navigatebrowser_clickbrowser_snapshot 等工具,说明配置成功。

第三步:在 Hermes Agent 中配置

如果你用 Hermes Agent,配置同样简单:

hermes mcp add playwright -- npx -y @playwright/mcp@latest

hermes gateway restart

重启后在聊天框输入 /tools,确认 Playwright 的工具已加载。

Playwright MCP工具清单:12+工具覆盖完整浏览器操控▲ Playwright MCP工具清单:12+工具覆盖完整浏览器操控

实战一:自动提取竞品价格(数据提取)

场景:你的 SaaS 产品需要每天监控 3 个竞品的定价页面变化。以前的做法是手工打开网页、复制价格、贴到表格。现在交给 Agent。

在 Claude Code 中直接说:

「打开 pricing.json」

Agent 的执行过程(你在终端能看到每一步):

  1. browser_navigate → 打开定价页
  2. browser_snapshot → 获取 accessibility snapshot(结构化的页面信息)
  3. 从 snapshot 中提取套餐名和价格(LLM 推理)
  4. 写入 pricing.json

你不需要写任何选择器、XPath、正则表达式。Agent 自己理解页面结构并提取数据。

进阶技巧:定时执行

在 CLAUDE.md(项目根目录的 Agent 配置文件)中加入:

## 定时任务

每天早上 9:00,执行以下操作:

1. 打开竞品 A 定价页、B 定价页、C 定价页

2. 提取各套餐价格

3. 与昨天的 prices.json 对比

4. 如有变化,输出变更报告到 #pricing-alerts 频道

Claude Code 的定时能力由底层 Agent 引擎驱动(Hermes Agent 用 Cron Job,Claude Code 用 Hooks + 外部调度器)。

实战二:批量填表提交(表单自动化)

场景:你需要在某个 SaaS 平台上批量创建 50 个测试账号。每个账号需要不同的邮箱、密码、组织名。手动操作至少 2 小时。

第一步:准备数据文件

创建 accounts.json

[

  {"email": "test01@example.com", "org": "Team Alpha", "plan": "pro"},

  {"email": "test02@example.com", "org": "Team Beta", "plan": "basic"},

  {"email": "test03@example.com", "org": "Team Gamma", "plan": "pro"}

]

第二步:对 Agent 下达指令

「读取 accounts.json,对每一行数据,打开注册页面填写表单并提交。记录每个账号的注册结果到 results.json」

Agent 会:

  1. 读取 accounts.json
  2. 循环:browser_navigate → 识别表单字段(通过 accessibility labels)→ browser_fill 填写 → browser_click 提交 → 记录结果
  3. 如遇错误(如邮箱已注册),记录并跳过,继续下一个

为什么这比传统 Playwright 脚本强

传统 Playwright 脚本的痛点:选择器变化时脚本直接崩溃,需要人工修复。Agent 模式的优势:即使页面改版(按钮从