今天我想向大家介绍一个令人惊叹的 Python 库,Playwright。
https://github.com/microsoft/playwright-python
Playwright 是一个用于 Web 测试和自动化的框架,通过单个 API,它能够实现对 Chromium、Firefox 和 WebKit 浏览器的自动化操作。
该框架旨在提供强大、可靠且快速的跨浏览器 Web 自动化,并支持 Linux、Mac 和 Windows 操作系统。
Playwright 的特点:
- 支持当前所有主流浏览器
- 支持移动端页面测试
- 支持所有浏览器的 Headless 模式和非 Headless 模式的测试
- 安装和配置简单
- 提供自动等待相关的 API
初体验
库的安装
你可以使用 pip 直接安装 Playwright。确保你的 Python 版本大于 3.7。
<code>pip install playwright</code>
安装完成后,执行初始化操作:
<code>playwright install</code>
Playwright 会安装 Chromium、Firefox 和 WebKit 浏览器,并配置所需的驱动。
基本操作
Playwright 提供了同步和异步两种模式。
以下是一个基本的同步模式例子:
<code>from playwright.sync_api import sync_playwright with sync_playwright() as p: browser_type = p.chromium browser = browser_type.launch() page = browser.new_page() page.goto('https://www.baidu.com') page.screenshot(path=f'screenshot-{browser_type.name}.png') print(page.title()) browser.close()</code>
Playwright 还提供了异步的 API,适用于 asyncio:
<code>import asyncio from playwright.async_api import async_playwright async def main(): async with async_playwright() as p: browser_type = p.chromium browser = await browser_type.launch() page = await browser.new_page() await page.goto('https://www.baidu.com') await page.screenshot(path=f'screenshot-{browser_type.name}.png') print(await page.title()) await browser.close() asyncio.run(main())</code>
两种模式的代码基本相似,选择适合你项目的模式即可。 Playwright 提供了更多的功能等待你去探索。
© 版权声明
THE END
暂无评论内容