Playwright
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, Playwright
def 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 asyncio
from playwright.async_api import async_playwright, Playwright
async 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.9Terminates 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_playwright
playwright = 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.9This object can be used to launch or connect to Chromium, returning instances of Browser.
Usage
playwright.chromium
Type
devices
Added before v1.9Returns a dictionary of devices to be used with browser.new_context() or browser.new_page().
- Sync
- Async
from playwright.sync_api import sync_playwright, Playwright
def 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 asyncio
from playwright.async_api import async_playwright, Playwright
async 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.9This object can be used to launch or connect to Firefox, returning instances of Browser.
Usage
playwright.firefox
Type
request
Added in: v1.16Exposes API that can be used for the Web API testing.
Usage
playwright.request
Type
selectors
Added before v1.9Selectors can be used to install custom selector engines. See extensibility for more information.
Usage
playwright.selectors
Type
webkit
Added before v1.9This object can be used to launch or connect to WebKit, returning instances of Browser.
Usage
playwright.webkit
Type