4.6 KiB
Playwright API Tip-Of-Tree
Table of Contents
- Playwright module
- class: Browser
- class: BrowserContext
- class: Page
- class: Frame
- class: ElementHandle
- class: JSHandle
- class: ConsoleMessage
- class: Dialog
- class: Download
- class: Video
- class: FileChooser
- class: Keyboard
- class: Mouse
- class: Touchscreen
- class: Request
- class: Response
- class: Selectors
- class: Route
- class: WebSocket
- class: TimeoutError
- class: Accessibility
- class: Worker
- class: BrowserServer
- class: BrowserType
- class: Logger
- class: ChromiumBrowser
- class: ChromiumBrowserContext
- class: ChromiumCoverage
- class: CDPSession
- class: FirefoxBrowser
- class: WebKitBrowser
- EvaluationArgument
- Environment Variables
- Working with selectors
- Working with Chrome Extensions
Playwright module
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();
})();
By default, the playwright
NPM package automatically downloads browser executables during installation. The playwright-core
NPM package can be used to skip automatic downloads.
- playwright.chromium
- playwright.devices
- playwright.errors
- playwright.firefox
- playwright.selectors
- playwright.webkit
playwright.chromium
- returns: <[BrowserType]>
This object can be used to launch or connect to Chromium, returning instances of [ChromiumBrowser].
playwright.devices
- returns: <[Object]>
Returns a list of devices to be used with browser.newContext([options])
or browser.newPage([options])
. Actual list of devices can be found in src/server/deviceDescriptors.ts.
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();
})();
playwright.errors
- returns: <[Object]>
TimeoutError
<[function]> A class of [TimeoutError].
Playwright methods might throw errors if they are unable to fulfill a request. For example, page.waitForSelector(selector[, options]) 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.
}
}
playwright.firefox
- returns: <[BrowserType]>
This object can be used to launch or connect to Firefox, returning instances of [FirefoxBrowser].
playwright.selectors
- returns: <[Selectors]>
Selectors can be used to install custom selector engines. See Working with selectors for more information.
playwright.webkit
- returns: <[BrowserType]>
This object can be used to launch or connect to WebKit, returning instances of [WebKitBrowser].