microsoft/playwright

GITHUB中文整理

主语言 TypeScript · 98,733 星 · Apache-2.0 · 创建于 2019-11-16

浏览器自动化端到端测试跨浏览器测试框架
打开 GitHub 仓库

一个用同一套 API 驱动 Chromium、Firefox 和 WebKit 的 Web 测试与自动化框架,可编写测试脚本,也可充当供 AI 代理调用的浏览器操作工具。

Stars 98,733 累计 star,越多说明被认可得越广
Watching 616 订阅该仓库变动的人数
Forks 6,719 被派生出去的仓库数
Issues 210 当前开放的 Issue 数
语言 TypeScript GitHub 自动判定的主语言
许可证 Apache-2.0 开源协议,用之前先确认能不能商用
24h 增长 — 数据积累中
7 日增长 — 数据积累中
30 日增长 — 数据积累中

仓库健康度

5 个维度
只看客观信号,不构成安全性结论
维护活跃度 数据完整
2026-10-28 23:42 最近推送

最近推送 2026-10-28 23:42(0 天前),属于活跃维护

社区响应 数据完整
210 开放 Issue

开放 Issue 210 个 · Fork 6,719 个

增长趋势 证据不足
— 7 日新增

star 记录还不够天数,增量算不出来

项目规范 数据完整
Apache-2.0 许可证

许可证 Apache-2.0 · 8 个 topics

版本发布 证据不足
— 发布次数

这一项暂无数据,不代表项目没有发布

「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。

Star 趋势

6 天记录
最近 90 天站内记录的星数
98,733当前 Star +390首尾差值 2026-10-23最早记录 2026-10-28最近记录

横轴 2026-10-23 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。

它解决什么问题

据 README 归纳
没有它会怎样

浏览器自动化常要分别适配不同内核,写测试时还要自己处理等待元素、超时和失败排查,容易写出不稳定、难定位的用例。没有它,跨浏览器测试要维护多套代码,失败后也难还原现场。

核心能力

7 条
归纳自 README,不是功能列表照抄
  1. 1用统一 API 同时操控三种浏览器内核
  2. 2自动等待元素可操作,断言失败会重试
  3. 3用贴近用户视角的定位器查找页面元素
  4. 4每个测试运行在独立浏览器上下文中
  5. 5保存一次登录状态并在多个测试间复用
  6. 6记录执行轨迹、截图和视频,可在追踪查看器中回放
  7. 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 个问题
答案来自 README 归纳与 GitHub 实时数据
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 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。

这些内容来自哪

读法说明
中文整理据 README 归纳,数据取自 GitHub
中文说明据项目 README 归纳只写 README 能确认的内容,不替作者补功能与数字
关键数据与 GitHub 页面一致星数、Fork、语言与时间都不做二次加工
数据日期2026-10-23 17:58星数与介绍这份数据是哪一天的

项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-23 17:58。