🎭 Playwright for Python
![Join Slack](https://camo.githubusercontent.com/09a3b866c7e87f92455c97f42d5c16245de531f71109235616997941f58b5fbf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6a6f696e2d736c61636b2d696e666f6d6174696f6e616c)
Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright delivers automation that is ever-green, capable, reliable and fast. See how Playwright is better.
Linux | macOS | Windows | |
---|---|---|---|
Chromium 102.0.5005.40 | ✅ | ✅ | ✅ |
WebKit 15.4 | ✅ | ✅ | ✅ |
Firefox 99.0.1 | ✅ | ✅ | ✅ |
https://playwright.dev/python/docs/intro
https://playwright.dev/python/docs/api/class-playwright
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch()
page = browser.new_page()
page.goto('http://whatsmyuseragent.org/')
page.screenshot(path=f'example-{browser_type.name}.png')
browser.close()
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = await browser_type.launch()
page = await browser.new_page()
await page.goto('http://whatsmyuseragent.org/')
await page.screenshot(path=f'example-{browser_type.name}.png')
await browser.close()
asyncio.run(main())
More comfortable in another programming language? Playwright is also available in