3.1 Playwright:微软官方的浏览器自动化

它是什么

microsoft/playwright-mcp,约 38483 star,TypeScript,npm 包 @playwright/mcp(实测版本 0.0.83)。微软官方维护。

在 2026 年 3 月的全球 MCP 搜索量榜单上,它排第一(约 82k/月),是第二名 Figma 的 1.1 倍。这不是营销排名,是真实采用度——几乎每个做“浏览器 agent”的人第一站都是它。

它最核心的设计:可访问性树

Playwright MCP 与截图路线有本质区别——它通过结构化可访问性树驱动浏览器,而不是靠截图识别。

维度 可访问性树 截图识别
速度 快 慢
稳定性 高(按 DOM 语义定位) 低(视觉噪声即失败)
读表单值 直接读 要 OCR
定位元素 按 role / name 按坐标或图像匹配
成本 低 高(多轮视觉推理)

最后一行对实际使用影响最大:截图路线每一步都要模型“看图”,token 消耗和出错率都高一个量级。官方对它的概括是“faster and more reliable for agents”(对 agent 更快更可靠)。

安装与配置

npm install --global @playwright/mcp
- insert:
    - id: playwright
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: playwright
        transport: stdio
        command: npx
        args: ["-y", "@playwright/mcp@latest"]
        cwd: !!js process.cwd()

用 npx -y 可以免全局安装,但每次启动会慢一点;长期使用建议全局装,并把 Playwright 的浏览器内核一并装好(npx playwright install)。在 Linux 上常需要 npx playwright install-deps 补系统依赖库,否则浏览器起不来。

常见变体:

需求 args 调整
指定用 Chrome 而非默认 Chromium 加 --browser chrome
需要看到界面(调试时) 加 --headed
保存登录态复用 配 user-data-dir,持久化 profile

典型用法

表单填写:

用 playwright 打开 https://example.com/signup,
填写测试账号(邮箱 test@example.com,密码 Test1234),
提交后确认跳转到欢迎页,截图保存。

数据抓取(需交互的):

用 playwright 登录后台,进入报表页,
把表格数据抓下来整理成 CSV。
注意:不要点任何删除或修改按钮。

UI 回归:

用 playwright 遍历 /settings 的四个 tab,
每个 tab 截图,检查控制台有无报错。

可访问性快照:

用 playwright 抓取首页的可访问性树,
列出所有可点击的导航项与它们的语义角色。

一条重要纪律

浏览器 agent 能点真按钮,所以它能造成真实后果。给任务时明确边界:

边界:只读操作。禁止点击任何提交、删除、支付类按钮。
需要提交时先停下来问我。

这一句能挡掉绝大多数事故。涉及真实账号、真实支付、真实删除,永远让人在回路里拍板。

与 dsh 自带浏览器能力的分工

DeepSeek Harness 自带浏览器工具,那还装不装?

场景 推荐
日常浏览、简单页面 dsh 自带够用
需要稳定的多步自动化流程 Playwright MCP
需要跨工具复用同一套脚本 Playwright MCP
需要无头 / 指定浏览器内核 Playwright MCP

一句话:临时看一下页面用 dsh 自带,要写成可复用、可回归的自动化流程就上 Playwright。

排错

现象 原因
浏览器起不来 缺依赖库(Linux 需 npx playwright install-deps)
点击没反应 元素在 iframe 或 shadow DOM 内
会话状态丢失 每次启动是新 profile,需持久化上下文
被反爬拦住 站点检测自动化,换 headed 模式或加延时

小结

  • Playwright MCP 是微软官方浏览器自动化,2026 年搜索量第一。
  • 核心优势是可访问性树驱动:更快、更稳、更便宜。
  • 浏览器 agent 能造成真实后果,任务必须写清只读边界。

延伸阅读