microsoft/playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Playwright – 测试与AI代理的浏览器自动化
是什么
Playwright 是由 Microsoft 维护的开源框架,可使用 JavaScript/TypeScript(以及 Python、.NET、Java)控制 Chromium、Firefox 和 WebKit。它主要是一个 Web 自动化和端到端测试 库,但 README 也强调了特殊工具,使相同浏览器控制可用于 AI 代理(Claude、Copilot 等)。
核心组件
| 组件 | 适用人群 | 获取方式 | 功能 |
|---|---|---|---|
| Playwright Test | QA 工程师、编写端到端测试的开发者 | npm init playwright@latest 或 npm i -D @playwright/test |
支持并行执行、自动等待、内置定位器、追踪、隔离浏览器上下文的测试运行器。 |
| Playwright CLI | 需要轻量级命令行接口的编码助手代理 | npm i -g @playwright/cli |
简单命令(open、type、screenshot 等),代理可调用而无需加载完整模式。 |
| Playwright MCP | 希望获得确定性、基于模式的浏览器控制的 LLM 驱动代理 | npx @playwright/mcp@latest(或 VS Code 扩展) |
运行 模型上下文协议 服务器,将页面作为可访问性树暴露;代理通过元素引用(e5、e10)进行交互。 |
| Playwright Library | 任何编写自定义脚本的人——爬虫、PDF 生成、设备模拟 | npm i playwright |
低级 API,用于启动浏览器、导航、截图、生成 PDF、拦截网络、模拟设备等。 |
| VS Code 扩展 | 偏好 IDE UI 的开发者 | 从市场安装 | 用于运行/调试测试、使用 CodeGen 生成代码、选择定位器和查看追踪的 UI。 |
对 AI/LLM 工作的重要性
- MCP 服务器 为 LLM 提供页面的结构化视图(可访问性树),使模型无需视觉即可发出精确操作(
click e5),避免了发送完整截图带来的 token 膨胀。 - CLI 是一种 token 高效的桥梁:代理可发出简短命令,CLI 将其转换为 Playwright 操作。
- 传统测试和 AI 驱动自动化使用相同的底层浏览器引擎,确保一致性。
典型工作流(测试)
- 安装
npm init playwright@latest– 创建包含测试运行器的项目并安装浏览器。 - 编写测试 使用
test和expectAPI。像page.getByRole('button', {name:'Submit'})这样的定位器对 UI 变化具有鲁棒性。 - 运行
npx playwright test。测试在不同浏览器中并行运行,每个在独立的上下文中执行。 - 调试 使用内置追踪(
trace: 'on-first-retry')和 Trace Viewer UI。
典型工作流(LLM 代理)
- 启动 MCP
npx @playwright/mcp@latest(或安装 VS Code 服务器)。 - 配置代理 指向 MCP 服务器。
- 提示 LLM:“导航到 https://demo.playwright.dev/todomvc 并添加三个项目。”
- 模型接收可访问性快照,选择元素引用,并将操作发回 MCP,MCP 在真实浏览器中执行。
语言与平台
- Node.js(主要)– 上述所有功能。
- Python、.NET、Java – 通过语言特定绑定提供相同的自动化能力。
- 在 Linux、macOS、Windows 上以无头或有头模式运行。
学习更多
- 文档与 API 参考 – https://playwright.dev
- MCP 服务器仓库 – https://github.com/microsoft/playwright-mcp
- CLI 仓库 – https://github.com/microsoft/playwright-cli
- VS Code 扩展 – README 中的市场链接。
- Discord 社区 – https://aka.ms/playwright/discord
TL;DR
Playwright 是一个生产级别的浏览器自动化工具包,支持端到端测试,并通过其 MCP 服务器和 CLI 为 LLM 驱动的代理提供清晰、结构化的接口,无需视觉模糊即可控制浏览器。安装与目标匹配的组件,编写测试或提示,让 Playwright 处理驱动 Chromium、Firefox 和 WebKit 的繁重工作。
相关
- 项目
- 项目
- 项目
- 项目
- 项目