Python + Playwright

现代浏览器自动化
从入门到精通

Playwright 是由 Microsoft 开源的下一代浏览器自动化框架。
支持 Chromium、Firefox、WebKit,一套代码覆盖所有主流浏览器。

// 为什么选择 Playwright

为现代 Web 而生的自动化框架

自动等待机制

智能等待元素可操作后再执行动作,告别 sleep() 和手动等待,代码更稳定可靠。

多浏览器支持

一套 API 同时支持 Chromium、Firefox 和 WebKit (Safari),无需切换工具。

网络拦截

完整的网络请求拦截与 Mock 能力,轻松模拟任何 API 响应和网络状态。

多上下文隔离

Browser Context 实现会话隔离,在同一浏览器实例中并行运行独立测试场景。

📷

截图与录屏

内置截图、视频录制和 Trace 追踪功能,调试从此不再困难。

Codegen 代码生成

录制浏览器操作自动生成 Python 代码,大幅降低编写自动化脚本的门槛。

// 快速开始

三步上手 Playwright Python

1

安装 Playwright

使用 pip 安装 Playwright 并下载浏览器引擎。

terminal
pip install playwright
playwright install
2

编写第一个脚本

使用同步 API 打开浏览器并访问网页。

first_script.py
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://playwright.dev")
    print(page.title())
    browser.close()
3

运行脚本

直接用 Python 运行即可看到浏览器自动操作。

terminal
python first_script.py
# 输出: Fast and reliable end-to-end testing for modern web apps | Playwright
// 异步模式

Async API — 更高效的写法

Playwright 同时提供同步和异步 API。在需要并发执行的场景中,推荐使用 async 模式。

async_example.py
import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto("https://example.com")
        print(await page.title())
        await browser.close()

asyncio.run(main())
// 学习路线

继续探索