Version: Next

Getting Started


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

$ pip install playwright
$ playwright install

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


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()

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("")
print(await page.title())
await browser.close()

First script#

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

from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.webkit.launch()
page = browser.new_page()

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, slow_mo=50)

Record scripts#

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

$ playwright codegen

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 20.04, the additional dependencies are defined in our Docker image, which is based on Ubuntu.