microsoft/playwright
开发工具用一套 API 驱动 Chromium、Firefox 和 WebKit,完成端到端测试、浏览器脚本或 AI 智能体自动化。
Playwright 是一个浏览器自动化与测试框架,用同一套 API 驱动 Chromium、Firefox 和 WebKit。它适合编写 Web 端到端测试的团队,也适合需要以编程方式控制浏览器做脚本、抓取、生成 PDF/截图或让智能体操作网页的人。
工作方式
Playwright 直接操作真实浏览器,会等待元素变为可操作状态,而不是依赖固定 sleep;web-first 断言会自动重试直到条件成立。每个测试拥有独立的浏览器上下文,相当于全新的浏览器配置,因此可以保存登录状态复用到其他测试,避免相互污染。失败时可记录 trace、截图和视频,并在 Trace Viewer 中逐步查看动作、DOM 快照、网络请求和控制台消息(测试文档、Trace Viewer)。
选择使用路径
README 给出五个入口,安装方式和适用人群各不相同(README):
- Playwright Test:面向端到端测试的完整 runner,支持并行、隔离、自动等待和 web-first 断言。
- Playwright Library(
playwright):不依赖测试 runner 的脚本路径,可截图、生成 PDF、模拟移动设备、拦截网络请求(库文档)。 - VS Code 扩展:在编辑器里运行和调试测试、用 CodeGen 录制测试、悬停选取定位器(VS Code 指南)。
- Playwright CLI:面向编程智能体,README 称其比 MCP 更省 token,因为命令不会把庞大的工具 schema 和可访问性树载入模型上下文(CLI 文档)。
- Playwright MCP:让 LLM 驱动的智能体通过结构化可访问性快照和元素引用操作页面,不依赖视觉模型或截图(MCP 文档)。
只需选择匹配自己工作流的一条路径;CLI 和 MCP 路径默认你已有编程智能体或支持 MCP 的客户端,并非所有测试场景都需要。
兼容性与注意事项
当前 README 列出的支持组合是 Chromium 157.0.8103.15(默认使用 Chrome for Testing)、WebKit 27.2 和 Firefox 158.0,覆盖 Linux、macOS 和 Windows,支持有头和无头模式(浏览器表、Chrome for Testing)。JavaScript/TypeScript 包是主要路径;此外还有 Python、.NET 和 Java 绑定,各有独立文档(Python、.NET、Java)。README 没有说明资源开销、用例不稳定率,或所列浏览器之外的版本支持政策。
项目采用 Apache-2.0 许可证。外部讨论年代较久且属于个人经验:2022 年 Hacker News 上有用户称赞显式 await 和更细粒度的超时,并与 Selenium 作比较(评论),但这早于当前版本,不能当作今日评估。
HotRepo 点评
仅记录到一次每日榜单出现(2026-10-29,当日 +83 stars),不足以判断热度趋势。更实际的问题是:五条路径中哪一条匹配你的工作流和运行环境。
本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。