puppeteer

puppeteer

#status / growing #type / resource #tech / dev #resource / puppeteer #media / tool

[!info] related notes playwright

puppeteer

基于 chrome mcp 的 mcp

特性Puppeteer (Google)Playwright (Microsoft)
浏览器支持Chromium 绝对优先。对 Firefox 支持有限/实验性,不支持 WebKit (Safari)。全平台霸主。开箱即用,原生支持 Chromium、WebKit (Safari) 和 Firefox。
等待机制 (最痛点)偏手动。你需要经常写 waitForSelectorwaitForTimeout。如果网络或渲染有一点波动,极易产生时过时挂的“幽灵测试 (Flaky Tests)”。自动等待 (Auto-waiting)。在执行点击或输入前,它会自动检查元素是否可见、稳定、可接收事件。极大地减少了样板代码。
执行速度与隔离通常通过打开新标签页 (Pages) 来隔离测试,或者频繁启动/关闭浏览器进程,资源开销较大。引入了 Browser Context。只需启动一次浏览器,就能在几毫秒内创建极其轻量、状态完全隔离的上下文(类似无数个独立的隐身窗口),并发测试速度极快
工具定位只是一个纯粹的自动化控制库。如果你要写测试,需要自己费时费力去集成 Jest、Mocha 等外部测试框架。是一个完整的端到端 (E2E) 测试框架。自带极其强大的 Playwright Test 运行器、断言库、时间旅行 UI 调试模式和 HTML 报告生成器。
多页面与 Iframe处理多标签页跳转、或者深层嵌套的 Iframe 时,API 相对繁琐,上下文切换容易丢失。架构层面原生支持跨域多页面的无缝穿梭,操控 Iframe 内的元素就像操控当前页面的普通 DOM 一样自然。
创建于 2026/2/26 更新于 2026/5/27