playwright-go

用 Go 语言统一控制三大浏览器,搞定自动化测试和爬虫。

playwright-go 是 Playwright 官方团队维护的 Go 语言浏览器自动化库,提供统一 API 控制 Chromium、Firefox 和 WebKit 三大浏览器引擎。它解决了 Go 生态中缺少现代、跨浏览器自动化方案的问题,让开发者可以用 Go 编写端到端测试、网页爬虫和自动化脚本。核心能力包括:自动等待元素、生成截图和 PDF、拦截网络请求、模拟移动设备、并行执行测试等。相比 Selenium,它无需额外驱动,安装简单,且内置了浏览器下载管理。项目 API 设计与官方 Playwright 保持一致,支持同步和异步两种模式,适合熟悉 Playwright 的开发者快速上手。

开源 free 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3510
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类自动化工作流
开发团队mxschmitt
所属国家
定价模式free
价格说明开源库,MIT 许可证,完全免费,无付费版本。
访问状态
是否开源
开源协议MIT
主要语言Go
技术栈/模型automation,browser-automation,chromium,firefox,go,golang,hacktoberfest,headless,headless-chrome,playwright,selenium,webkit
GitHub 星标★ 3510
30天Star增速
HF 下载量
上线时间2020-08-16 00:00:00
最近更新2026-09-23 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数4

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 3 步

环境要求

  • 已安装 Go 环境并可正常使用 go get / go run
  • 支持 Linux、macOS、Windows 三大平台
  • Linux 上若缺系统依赖,安装时需加 --with-deps 参数
  • 需知道当前 go.mod 中 playwright-go 的版本号(形如 v0.xxxx.x)

安装与启动步骤

  1. 1获取 Go 库

    在项目目录下执行 go get 拉取 playwright-go 库,它会作为依赖写入 go.mod。

    go get -u github.com/mxschmitt/playwright-go
  2. 2安装驱动与浏览器

    用 go run 调用官方 cmd 安装 Playwright 驱动和 Chromium、Firefox、WebKit 浏览器;把 0.xxxx.x 换成你 go.mod 里的版本。

    go run github.com/mxschmitt/playwright-go/cmd/playwright@v0.xxxx.x install --with-deps
  3. 3可选 Docker 构建

    如需容器化,参考仓库中的 Dockerfile.example 自行构建镜像,README 未给出具体构建命令。

关键配置

配置项必填说明示例
v0.xxxx.x(驱动版本号)安装命令中的版本必须与当前 go.mod 使用的 playwright-go 版本一致v0.5200.0

如何确认成功

上述 install 命令执行结束且无报错,即表示 Playwright 驱动与三大浏览器安装成功。

常见问题

Q:命令里的 0.xxxx.x 该填什么?

A:填当前 go.mod 中 playwright-go 的实际版本号。每个次版本升级都对应一个特定的 Playwright 驱动版本,必须匹配。

Q:Linux 上提示缺少系统库怎么办?

A:在 install 命令后加上 --with-deps,让安装程序一并安装操作系统依赖。

Q:支持哪些浏览器和平台?

A:Chromium、Firefox、WebKit 在 Linux、macOS、Windows 上均支持,且有头与无头模式都可用。

Q:必须用 Docker 吗?

A:不是,Docker 只是可选项。README 只提供 Dockerfile.example 供自行构建,未给出官方镜像命令。

注意事项

  • 安装驱动时必须把版本号替换成 go.mod 中的实际版本,不能照抄 0.xxxx.x。
  • 每次升级 playwright-go 次版本,都要重新执行一次对应版本的驱动与浏览器安装。
  • README 未提供示例运行代码,请参考官网 Example recipes 或 pkg.go.dev API 文档。

核心亮点

  • 官方维护,API 与 Playwright 同步,质量有保障
  • 无需 WebDriver,自动管理浏览器安装,环境配置简单
  • 支持 Chromium、Firefox、WebKit 跨浏览器,覆盖全面

不足之处

  • Go 生态中同类库较少,社区资源不如 Python/Node 丰富
  • 部分高级特性(如录制、调试面板)支持不完整

适用场景

  • Go 服务的端到端测试(如 API + 前端集成验证)
  • 高并发网页数据采集,利用 Go 的并发优势
  • 需要跨浏览器兼容性验证的自动化任务

替代项目

chromedp、rod、agouti

项目介绍

playwright-go 是自动化工作流领域的开源项目,由 mxschmitt 开发,2020 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(3,510)位列前 30%,在自动化工作流分类中处于中上游。

近 45 天,它的 GitHub 星标从 3,466 增加到 3,510,净增 44。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-23。开源库,MIT 许可证,完全免费,无付费版本。

它主要面向的使用场景是:Go服务的端到端测试(如API+前端集成验证)。同类可对比的替代方案包括 chromedp、rod、agouti。

上一篇:donutbrowser

下一篇:HeadlessX

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 205700 2026-08-10
feishu-docx 开源

让 AI 代理轻松读写飞书文档,双向转换 Markdown

Feishu/Lark Docs、Sheet、Bitable <-> Markdown | AI Agent-friendly knowledge base exp···

★ 261 2026-08-09
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 300 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95609 2026-08-10