Version: Next

Getting Started

Installation#

Use pip to install Playwright in your Python project. See system requirements.

$ pip install playwright
$ python -m playwright install

These commands download the Playwright package and install browser binaries for Chromium, Firefox and WebKit. To modify this behavior see installation parameters.

Usage#

Once installed, you can import Playwright in a Python script, and launch any of the 3 browsers (chromium, firefox and webkit).

from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("http://playwright.dev")
print(page.title())
browser.close()

Playwright supports two variations of the API: synchronous and asynchronous. If your modern project uses asyncio, you should use async API:

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("http://playwright.dev")
print(await page.title())
await browser.close()
asyncio.run(main())

First script#

In our first script, we will navigate to whatsmyuseragent.org and take a screenshot in WebKit.

from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.webkit.launch()
page = await browser.new_page()
page.goto("http://whatsmyuseragent.org/")
page.screenshot(path="example.png")
browser.close()

By default, Playwright runs the browsers in headless mode. To see the browser UI, pass the headless=False flag while launching the browser. You can also use slow_mo to slow down execution. Learn more in the debugging tools section.

firefox.launch(headless=False, slowMo=50)

Record scripts#

Command Line Interface CLI can be used to record user interactions and generate Python code.

$ python -m playwright codegen wikipedia.org

System requirements#

Playwright requires Python version 3.7 or above. The browser binaries for Chromium, Firefox and WebKit work across the 3 platforms (Windows, macOS, Linux):

  • Windows: Works with Windows and Windows Subsystem for Linux (WSL).
  • macOS: Requires 10.14 or above.
  • Linux: Depending on your Linux distribution, you might need to install additional dependencies to run the browsers.
    • Firefox requires Ubuntu 18.04+
    • For Ubuntu 18.04, the additional dependencies are defined in our Docker image, which is based on Ubuntu.