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
def run(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
async def run(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 in: v1.8Terminates 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()
Properties
chromium
Added in: v1.8This object can be used to launch or connect to Chromium, returning instances of Browser.
Usage
playwright.chromium
Type
devices
Added in: v1.8Returns a dictionary of devices to be used with browser.new_context() or browser.new_page().
- Sync
- Async
from playwright.sync_api import sync_playwright
def run(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
async def run(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 in: v1.8This 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 in: v1.8Selectors can be used to install custom selector engines. See extensibility for more information.
Usage
playwright.selectors
Type
webkit
Added in: v1.8This object can be used to launch or connect to WebKit, returning instances of Browser.
Usage
playwright.webkit
Type