Playwright for Python 使用教程
项目介绍
Playwright for Python 是一个用于自动化 Chromium、Firefox 和 WebKit 浏览器的 Python 库。它提供了一个统一的 API,使得自动化测试和脚本编写变得简单、可靠且快速。Playwright 支持在 Windows、Linux 和 macOS 上进行本地或 CI 环境下的无头或有头模式测试,并提供了原生的移动端仿真功能。
项目快速启动
安装 Playwright
首先,你需要安装 Playwright 库。你可以通过 pip 来安装:
pip install playwright
安装完成后,运行以下命令来下载浏览器二进制文件:
playwright install
编写第一个脚本
以下是一个简单的示例脚本,展示了如何使用 Playwright 打开一个网页并进行一些操作:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("http://example.com")
print(page.title())
browser.close()
应用案例和最佳实践
自动化测试
Playwright 可以用于编写端到端测试。以下是一个使用 pytest 和 Playwright 的示例:
def test_example(page):
page.goto("https://playwright.dev/")
page.get_by_role("link", name="Get started").click()
assert page.get_by_role("heading", name="Installation").is_visible()
爬虫
Playwright 也可以用于编写网络爬虫,因为它可以模拟浏览器行为,处理动态内容:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://news.ycombinator.com/")
links = page.query_selector_all(".titleline > a")
for link in links:
print(link.text_content())
browser.close()
典型生态项目
pytest-playwright
pytest-playwright 是一个官方推荐的插件,用于与 pytest 集成,简化端到端测试的编写:
pip install pytest-playwright
Playwright Inspector
Playwright Inspector 是一个交互式工具,可以帮助你调试和记录 Playwright 脚本:
playwright codegen
通过这些工具和库,你可以更高效地使用 Playwright 进行自动化测试和脚本编写。