最近推送 2026-10-28 23:42(0 天前),属于活跃维护
microsoft/playwright
GITHUB中文整理主语言 TypeScript · 98,733 星 · Apache-2.0 · 创建于 2019-11-16
一个用同一套 API 驱动 Chromium、Firefox 和 WebKit 的 Web 测试与自动化框架,可编写测试脚本,也可充当供 AI 代理调用的浏览器操作工具。
仓库健康度
5 个维度开放 Issue 210 个 · Fork 6,719 个
star 记录还不够天数,增量算不出来
许可证 Apache-2.0 · 8 个 topics
这一项暂无数据,不代表项目没有发布
「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。
Star 趋势
6 天记录横轴 2026-10-23 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。
它解决什么问题
据 README 归纳浏览器自动化常要分别适配不同内核,写测试时还要自己处理等待元素、超时和失败排查,容易写出不稳定、难定位的用例。没有它,跨浏览器测试要维护多套代码,失败后也难还原现场。
核心能力
7 条- 1用统一 API 同时操控三种浏览器内核
- 2自动等待元素可操作,断言失败会重试
- 3用贴近用户视角的定位器查找页面元素
- 4每个测试运行在独立浏览器上下文中
- 5保存一次登录状态并在多个测试间复用
- 6记录执行轨迹、截图和视频,可在追踪查看器中回放
- 7通过元素引用完成点击、输入等确定性交互
项目画像
6 个角度项目定位
一个用同一套 API 驱动 Chromium、Firefox 和 WebKit 的 Web 测试与自动化框架,可编写测试脚本,也可充当供 AI 代理调用的浏览器操作工具。
适合谁
适合需要编写端到端 Web 测试的开发者与测试团队,也适合编写浏览器自动化脚本、或让 AI 代理操作网页的场景。
典型场景
为网站编写跨 Chromium、Firefox 和 WebKit 的端到端测试,验证同一功能在三种内核下表现一致;录制带截图和追踪信息的执行过程,在测试失败时回放定位问题;借助登录状态复用,简化需要登录后才能访问的页面测试;通过命令行工具或 MCP 配置,让 AI 代理按元素引用操作网页并截图。
部署难度
需要先安装 Node.js,再用包管理器初始化项目或全局安装命令行工具;若供 AI 代理使用,还需在 MCP 客户端中填入启动配置。浏览器内核的安装由工具链处理,整体为几步配置即可运行。
风险限制
使用前需具备 Node.js 环境;浏览器内核的安装与运行依赖由项目自行管理,具体系统要求未详细列出。
最近维护
最近一次推送是 2026-10-28 23:42。 实现方式:脚本启动浏览器并打开页面,通过定位器或元素引用执行点击、输入等操作;框架在动作前等待元素可操作,断言自动重试,并把操作、DOM 快照和网络请求记录成追踪文件供排查。
README 原文细节
5 个板块核心功能README 里列出来的能力清单
Key capabilities
Auto-wait and web-first assertions. No artificial timeouts. Playwright waits for elements to be actionable, and assertions automatically retry until conditions are met.
Locators. Find elements with resilient locators that mirror how users see the page:
Test isolation. Each test runs in its own browser context — equivalent to a fresh browser profile. Save authentication state once and reuse it across tests:
Tracing. Capture execution traces, screenshots, and videos on failure. Inspect every action, DOM snapshot, network request, and console message in the Trace Viewer:
怎么安装从零跑起来的步骤
Install
npm init playwright@latest
Install
npm install -g @playwright/cli@latest
Setup
Add to your MCP client (VS Code, Cursor, Claude Desktop, Windsurf, etc.):
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Install
npm i playwright
怎么用最典型的用法与示例
Usage
Test the "add todo" flow on https://demo.playwright.dev/todomvc using playwright-cli.
Take screenshots for all successful and failing scenarios.
Examples
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://playwright.dev/');
await page.screenshot({ path: 'screenshot.png' });
await browser.close();
实现原理它内部是怎么做的
How it works
It uses element refs like e5 and e10 to click, type, and interact — deterministically and without visual ambiguity. Tools cover navigation, form filling, screenshots, network mocking, storage management, and more.
其它说明README 里剩下的内容
Documentation | API reference
Playwright is a framework for web automation and testing. It drives Chromium, Firefox, and WebKit with a single API — in your tests, in your scripts, and as a tool for AI agents.
关于 playwright 的常见问题
7 个问题playwright 是做什么的?
一个用同一套 API 驱动 Chromium、Firefox 和 WebKit 的 Web 测试与自动化框架,可编写测试脚本,也可充当供 AI 代理调用的浏览器操作工具。 浏览器自动化常要分别适配不同内核,写测试时还要自己处理等待元素、超时和失败排查,容易写出不稳定、难定位的用例。没有它,跨浏览器测试要维护多套代码,失败后也难还原现场。
playwright 有哪些功能?
核心能力:用统一 API 同时操控三种浏览器内核;自动等待元素可操作,断言失败会重试;用贴近用户视角的定位器查找页面元素;每个测试运行在独立浏览器上下文中;保存一次登录状态并在多个测试间复用;记录执行轨迹、截图和视频,可在追踪查看器中回放;通过元素引用完成点击、输入等确定性交互。
playwright 适合谁用?
适合需要编写端到端 Web 测试的开发者与测试团队,也适合编写浏览器自动化脚本、或让 AI 代理操作网页的场景。
playwright 是怎么工作的?
脚本启动浏览器并打开页面,通过定位器或元素引用执行点击、输入等操作;框架在动作前等待元素可操作,断言自动重试,并把操作、DOM 快照和网络请求记录成追踪文件供排查。
怎么安装 playwright?
按项目 README 的说明:Add to your MCP client (VS Code, Cursor, Claude Desktop, Windsurf, etc.):。完整命令见下方「怎么安装」一节或 GitHub 仓库的 README。
用 playwright 有什么门槛或限制?
使用前需具备 Node.js 环境;浏览器内核的安装与运行依赖由项目自行管理,具体系统要求未详细列出。
playwright 现在还在维护吗?数据怎么样?
目前 98,733 星,6,719 个 Fork,主语言 TypeScript,创建于 2019-11-16,最近一次推送 2026-10-28 23:42,许可证 Apache-2.0。星数、Fork、推送时间都是 GitHub 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。
这些内容来自哪
读法说明项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-23 17:58。
