Skip to content

Latest commit

 

History

History
189 lines (151 loc) · 4.82 KB

class-playwright.md

File metadata and controls

189 lines (151 loc) · 4.82 KB

class: Playwright

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

const { chromium, firefox, webkit } = require('playwright');

(async () => {
  const browser = await chromium.launch();  // Or 'firefox' or 'webkit'.
  const page = await browser.newPage();
  await page.goto('http://example.com');
  // other actions...
  await browser.close();
})();
import com.microsoft.playwright.*;

public class Example {
  public static void main(String[] args) {
    try (Playwright playwright = Playwright.create()) {
      BrowserType chromium = playwright.chromium();
      Browser browser = chromium.launch();
      Page page = browser.newPage();
      page.navigate("http://example.com");
      // other actions...
      browser.close();
    }
  }
}
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())
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)

property: Playwright.chromium

  • type: <[BrowserType]>

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

property: Playwright.devices

  • langs: js, python
  • type: <[Object]>

Returns a dictionary of devices to be used with [method: Browser.newContext] or [method: Browser.newPage].

const { webkit, devices } = require('playwright');
const iPhone = devices['iPhone 6'];

(async () => {
  const browser = await webkit.launch();
  const context = await browser.newContext({
    ...iPhone
  });
  const page = await context.newPage();
  await page.goto('http://example.com');
  // other actions...
  await browser.close();
})();
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())
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)

property: Playwright.devices

  • langs: csharp
  • type: <[IReadOnlyDictionary<string, BrowserContextOptions>]>

Returns a dictionary of devices to be used with [method: Browser.newContext] or [method: Browser.newPage].

property: Playwright.errors

  • langs: js
  • type: <[Object]>
    • TimeoutError <[function]> A class of [TimeoutError].

Playwright methods might throw errors if they are unable to fulfill a request. For example, [method: Page.waitForSelector] might fail if the selector doesn't match any nodes during the given timeframe.

For certain types of errors Playwright uses specific error classes. These classes are available via playwright.errors.

An example of handling a timeout error:

try {
  await page.waitForSelector('.foo');
} catch (e) {
  if (e instanceof playwright.errors.TimeoutError) {
    // Do something if this is a timeout.
  }
}
try:
    await page.wait_for_selector(".foo")
except TimeoutError as e:
    # do something if this is a timeout.
try:
    page.wait_for_selector(".foo")
except TimeoutError as e:
    # do something if this is a timeout.

property: Playwright.firefox

  • type: <[BrowserType]>

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

property: Playwright.selectors

  • type: <[Selectors]>

Selectors can be used to install custom selector engines. See Working with selectors for more information.

property: Playwright.webkit

  • type: <[BrowserType]>

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