2021-01-07 11:46:05 -08:00
# class: Playwright
Playwright module provides a method to launch a browser instance.
The following is a typical example of using Playwright to drive automation:
```js
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.
## property: Playwright.chromium
- type: < [BrowserType]>
This object can be used to launch or connect to Chromium, returning instances of [ChromiumBrowser].
## property: Playwright.devices
- type: < [Object]>
2021-01-12 12:14:27 -08:00
Returns a dictionary of devices to be used with [`method: Browser.newContext` ] or [`method: Browser.newPage` ].
2021-01-07 11:46:05 -08:00
```js
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();
})();
```
## property: Playwright.errors
2021-01-07 16:12:25 -08:00
* langs: js
2021-01-07 11:46:05 -08:00
- 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` ](#playwrighterrors ).
An example of handling a timeout error:
```js
try {
await page.waitForSelector('.foo');
} catch (e) {
if (e instanceof playwright.errors.TimeoutError) {
// 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 [FirefoxBrowser].
## property: Playwright.selectors
- type: < [Selectors]>
Selectors can be used to install custom selector engines. See [Working with selectors ](./selectors.md#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 [WebKitBrowser].