📄 playwright-python/python/docs/api/class-playwright

File: class-playwright.md | Updated: 11/18/2025

Source: https://playwright.dev/python/docs/api/class-playwright

Skip to main content

On this page

Playwright module provides a method to launch a browser instance. The following is a typical example of using Playwright to drive automation:

  • Sync

  • Async

    from playwright.sync_api import sync_playwright, Playwrightdef run(playwright: Playwright): chromium = playwright.chromium # or "firefox" or "webkit". browser = chromium.launch() page = browser.new_page() page.goto("http://example.com") # other actions... browser.close()with sync_playwright() as playwright: run(playwright)

    import asynciofrom playwright.async_api import async_playwright, Playwrightasync def run(playwright: Playwright): chromium = playwright.chromium # or "firefox" or "webkit". browser = await chromium.launch() page = await browser.new_page() await page.goto("http://example.com") # other actions... await browser.close()async def main(): async with async_playwright() as playwright: await run(playwright)asyncio.run(main())


Methods


stop

Added before v1.9 playwright.stop

Terminates this instance of Playwright in case it was created bypassing the Python context manager. This is useful in REPL applications.

from playwright.sync_api import sync_playwrightplaywright = sync_playwright().start()browser = playwright.chromium.launch()page = browser.new_page()page.goto("https://playwright.dev/")page.screenshot(path="example.png")browser.close()playwright.stop()

Usage

playwright.stop()

Returns


Properties


chromium

Added before v1.9 playwright.chromium

This object can be used to launch or connect to Chromium, returning instances of Browser .

Usage

playwright.chromium

Type


devices

Added before v1.9 playwright.devices

Returns a dictionary of devices to be used with browser.new_context() or browser.new_page() .

  • Sync

  • Async

    from playwright.sync_api import sync_playwright, Playwrightdef run(playwright: Playwright): webkit = playwright.webkit iphone = playwright.devices["iPhone 6"] browser = webkit.launch() context = browser.new_context(**iphone) page = context.new_page() page.goto("http://example.com") # other actions... browser.close()with sync_playwright() as playwright: run(playwright)

    import asynciofrom playwright.async_api import async_playwright, Playwrightasync def run(playwright: Playwright): webkit = playwright.webkit iphone = playwright.devices["iPhone 6"] browser = await webkit.launch() context = await browser.new_context(**iphone) page = await context.new_page() await page.goto("http://example.com") # other actions... await browser.close()async def main(): async with async_playwright() as playwright: await run(playwright)asyncio.run(main())

Usage

playwright.devices

Type


firefox

Added before v1.9 playwright.firefox

This object can be used to launch or connect to Firefox, returning instances of Browser .

Usage

playwright.firefox

Type


request

Added in: v1.16 playwright.request

Exposes API that can be used for the Web API testing.

Usage

playwright.request

Type


selectors

Added before v1.9 playwright.selectors

Selectors can be used to install custom selector engines. See extensibility for more information.

Usage

playwright.selectors

Type


webkit

Added before v1.9 playwright.webkit

This object can be used to launch or connect to WebKit, returning instances of Browser .

Usage

playwright.webkit

Type