playwright mcp 和 chrome devtools mcp 区别?
Playwright MCP 和 Chrome DevTools MCP 不是竞品——一个负责"开",一个负责"修"。
- Playwright 做浏览器自动化(干活),DevTools 做性能诊断(找问题)
- Playwright 基于 Accessibility Tree,Token 仅为原始 DOM 的 20-30%
- DevTools 基于 CDP,能拿到网络瀑布、Lighthouse、堆快照等完整运行时数据
- Playwright 支持全平台浏览器;DevTools 仅 Chromium
- DevTools 独有 Trace 自动分析、Lighthouse 审计、V8 堆内存快照
- Playwright 独有 Auto-wait、跨浏览器测试、结构化定位
一句话:日常交互用 Playwright,需要性能/网络排查时切 DevTools。
核心区别:开车 vs 修车
Steve Kinney 有个很精准的比喻:Playwright 负责"开车"(driving),Chrome DevTools 负责"修车"(debugging)。
Playwright MCP 由微软维护,定位是浏览器自动化引擎。它的设计目标是稳定、可靠地完成页面交互——导航、点击、填表、截图。你告诉它"去哪个页 面、点哪个按钮、填什么内容",它执行,就这么简单。
Chrome DevTools MCP 由 Google 维护,定位是浏览器诊断工具。它暴露的是 Chrome DevTools Protocol(CDP),让你拿到性能 Trace、网络瀑布、V8 堆快照这些开发者才关心的底层数据。它的目标不是"帮你操作页面",而是"告诉你页面出了什么问题"。
两者不是竞品。买车和买修车工具不冲突。
交互模型的差异,决定 Token 消耗
Playwright 不传截图也不传完整 DOM,它基于页面的 Accessibility Tree(无障碍树)来理解页面结构。
无障碍树只包含语义化元素——按钮、链接、输入框、标题——不包含布局 div、样式信息、脚本逻辑。通常只占原始 DOM 的 20-30%。Agent 拿到的是结构化 ref(如 button "提交"),不是像素坐标,定位是确定性的,同一个元素每次都是同一个 ref。
Chrome DevTools MCP 走 CDP,拿的是完整浏览器运行时状态。一个页面加载下来,网络日志加 DOM 加 Console 输出,轻松几 MB。对 Agent 来说,Token 大量消耗在解析原始数据上。
说白了:Playwright 给 Agent 看"要点",DevTools 给 Agent 看"全部"。
但这不是 DevTools 设计有问题——当你需要排查"为什么这个请求返回 403"或者"首页 LCP 为什么 5 秒",只看"要点"找不到根因,必须看"全部"。