Playwright可以用来自动化 Web 浏览器进行端到端测试(E2E),类似于 Selenium,但 Playwright 提供了更现代的 API、更强的多浏览器支持(Chromium、Firefox、WebKit)、自动等待、内建并发、网络拦截和模拟等强大功能。
Playwright Python 介绍
Playwright 官方支持多种语言,包括 JavaScript/TypeScript、Python、Java 和 .NET。对于 Python 用户,可以通过 pip 包 playwright 进行安装。
安装 Playwright
- 安装 Playwright 依赖包:
pip install playwright
- 安装所需的浏览器(只需执行一次):
playwright install
Playwright Python 基本用法
下面是一个简单的例子,自动启动浏览器、访问页面、获取内容和截图:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False) # headless=False 表示有界面
page = browser.new_page()
page.goto('https://www.example.com')
print(page.title()) # 输出页面标题
page.screenshot(path='example.png')
browser.close()
常见操作
- 打开不同浏览器:
p.chromium, p.firefox, p.webkit
- 填写表单:
page.fill('input[name="q"]', 'Playwright')
- 点击元素:
page.click('button[type="submit"]')
- 等待元素:
page.wait_for_selector('text=登录')
- 断言内容:
assert '欢迎' in page.content()
官方快速上手文档
常见场景
- 自动化测试 Web 应用(UI 测试)
- 爬取数据(爬虫,尤其是需要执行 JavaScript 的页面)
- 批量化网页操作(如自动填表、数据录入)