用统一 API 自动化控制 Chromium、Firefox 和 WebKit 浏览器的 Python 库,支持同步与异步两种调用方式。
- Star
- 3,539
- Fork
- 250
- 未关闭 Issue
- 5
- 最近提交
- 前天
这是什么?
playwright-go 将 Playwright 浏览器自动化 API 引入 Go 语言。Go 程序可以启动 Chromium、Firefox 和 WebKit,完成页面导航、元素交互和结果读取。三种浏览器引擎在 Linux、macOS 和 Windows 上使用同一套 API,支持无头和有头两种模式。
库在后台运行 Playwright 驱动,并通过 stdio 与其通信,浏览器相关逻辑与官方 Node.js 实现保持一致。驱动和浏览器可通过 `playwright install` 命令安装,也可在代码中调用 `playwright.Install()`。每个次版本的库都对应特定版本的驱动。
API 涵盖按角色、标签、文本或测试 ID 定位元素的 locator、自动等待的操作、可保存登录状态的独立浏览器上下文、Trace 录制、网络拦截与模拟,以及设备、地理位置模拟、文件上传下载、PDF 生成和视频录制。
核心功能
- 01Chromium、Firefox 和 WebKit 共用一套 API,覆盖 Linux、macOS 和 Windows。
- 02支持按角色、标签、文本定位元素,避免脆弱的 CSS 路径。
- 03操作自动等待,断言会重试直到条件满足。
- 04浏览器上下文相互隔离,登录状态可保存后复用。
- 05支持 Trace 录制、请求拦截与模拟。
- 06支持设备、地理位置、语言和时区模拟。
适用场景
- 为 Go 编写的 Web 应用做端到端测试。
- 抓取需要 JavaScript 渲染的动态页面。
- 在 Go 服务中生成网页的 PDF 或截图。
- 在 Go 工具中自动化重复的浏览器操作流程。
快速上手
- 1
将 Go 库添加到你的模块中
go get -u github.com/mxschmitt/playwright-go - 2
安装 Playwright 驱动和浏览器(包括系统依赖)
go run github.com/mxschmitt/playwright-go/cmd/playwright@v0.xxxx.x install --with-deps
使用前须知
- 每次次要版本升级都需要匹配的 Playwright 驱动版本,安装版本必须与 go.mod 一致。
- 如果使用 playwright.Install() 且没有权限,需要手动安装操作系统的浏览器依赖。
收录于专题
标签
常见问题
- playwright-go 是什么?
- 基于 Playwright 的 Go 浏览器自动化库,用统一 API 控制 Chromium、Firefox 和 WebKit。 playwright-go 将 Playwright 浏览器自动化 API 引入 Go 语言。Go 程序可以启动 Chromium、Firefox 和 WebKit,完成页面导航、元素交互和结果读取。三种浏览器引擎在 Linux、macOS 和 Windows 上使用同一套 API,支持无头和有头两种模式。
- playwright-go 可以免费使用吗?用的什么许可证?
- playwright-go 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- playwright-go 还在维护吗?
- 活跃维护中。playwright-go 最近一次提交是在 2026年11月5日。
- playwright-go 适合用来做什么?
- 为 Go 编写的 Web 应用做端到端测试。 抓取需要 JavaScript 渲染的动态页面。 在 Go 服务中生成网页的 PDF 或截图。 在 Go 工具中自动化重复的浏览器操作流程。
- playwright-go 怎么安装和运行?
- 将 Go 库添加到你的模块中: go get -u github.com/mxschmitt/playwright-go 安装 Playwright 驱动和浏览器(包括系统依赖): go run github.com/mxschmitt/playwright-go/cmd/playwright@v0.xxxx.x install --with-deps
- 在哪里获取 playwright-go?
- 源代码和安装说明在 GitHub 上:https://github.com/mxschmitt/playwright-go
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Playwright 是一个用于 Web 测试与自动化的框架,通过统一 API 驱动 Chromium、Firefox 和 WebKit。
用高级 API 控制 Chrome 或 Firefox 的 JavaScript 库,默认无界面运行。
基于 Docker 部署的无头浏览器服务,Puppeteer 和 Playwright 脚本可通过 WebSocket 连接使用。
基于 Selenium 的 Python 浏览器自动化库,可按页面可见文字而非 CSS 选择器或 XPath 定位元素。
可自托管的可视化浏览器自动化工具,可通过 API 或定时任务执行工作流。