Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: move playwright module into api-body.md #4827

Merged
merged 1 commit into from Dec 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
83 changes: 83 additions & 0 deletions docs-src/api-body.md
@@ -1,3 +1,86 @@
# 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.

<!-- GEN:toc -->
<!-- GEN:stop -->

## 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]>

Returns a list of devices to be used with [`method: Browser.newContext`]() or [`method: Browser.newPage`](). Actual list of devices can be found in [src/server/deviceDescriptors.ts](https://github.com/Microsoft/playwright/blob/master/src/server/deviceDescriptors.ts).

```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
- 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](#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].

# class: Browser
* extends: [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)

Expand Down
126 changes: 0 additions & 126 deletions docs-src/api-header.md
Expand Up @@ -4,130 +4,4 @@
##### Table of Contents

<!-- GEN:toc-top-level -->
- [Playwright module](#playwright-module)
- [class: Browser](#class-browser)
- [class: BrowserContext](#class-browsercontext)
- [class: Page](#class-page)
- [class: Frame](#class-frame)
- [class: ElementHandle](#class-elementhandle)
- [class: JSHandle](#class-jshandle)
- [class: ConsoleMessage](#class-consolemessage)
- [class: Dialog](#class-dialog)
- [class: Download](#class-download)
- [class: Video](#class-video)
- [class: FileChooser](#class-filechooser)
- [class: Keyboard](#class-keyboard)
- [class: Mouse](#class-mouse)
- [class: Touchscreen](#class-touchscreen)
- [class: Request](#class-request)
- [class: Response](#class-response)
- [class: Selectors](#class-selectors)
- [class: Route](#class-route)
- [class: WebSocket](#class-websocket)
- [class: TimeoutError](#class-timeouterror)
- [class: Accessibility](#class-accessibility)
- [class: Worker](#class-worker)
- [class: BrowserServer](#class-browserserver)
- [class: BrowserType](#class-browsertype)
- [class: Logger](#class-logger)
- [class: ChromiumBrowser](#class-chromiumbrowser)
- [class: ChromiumBrowserContext](#class-chromiumbrowsercontext)
- [class: ChromiumCoverage](#class-chromiumcoverage)
- [class: CDPSession](#class-cdpsession)
- [class: FirefoxBrowser](#class-firefoxbrowser)
- [class: WebKitBrowser](#class-webkitbrowser)
- [EvaluationArgument](#evaluationargument)
- [Environment Variables](#environment-variables)
- [Working with selectors](#working-with-selectors)
- [Working with Chrome Extensions](#working-with-chrome-extensions)
<!-- GEN:stop -->

### Playwright module

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.

<!-- GEN:toc -->
- [playwright.chromium](#playwrightchromium)
- [playwright.devices](#playwrightdevices)
- [playwright.errors](#playwrighterrors)
- [playwright.firefox](#playwrightfirefox)
- [playwright.selectors](#playwrightselectors)
- [playwright.webkit](#playwrightwebkit)
<!-- GEN:stop -->

#### 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 [`method: Browser.newContext`]() or [`method: Browser.newPage`](). Actual list of devices can be found in [src/server/deviceDescriptors.ts](https://github.com/Microsoft/playwright/blob/master/src/server/deviceDescriptors.ts).

```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();
})();
```

#### 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, [`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.
}
}
```

#### 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](#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].

30 changes: 14 additions & 16 deletions docs/api.md
Expand Up @@ -5,7 +5,7 @@
##### Table of Contents

<!-- GEN:toc-top-level -->
- [Playwright module](#playwright-module)
- [class: Playwright](#class-playwright)
- [class: Browser](#class-browser)
- [class: BrowserContext](#class-browsercontext)
- [class: Page](#class-page)
Expand Down Expand Up @@ -43,10 +43,11 @@
- [Working with Chrome Extensions](#working-with-chrome-extensions)
<!-- GEN:stop -->

### Playwright module

Playwright module provides a method to launch a browser instance.
The following is a typical example of using Playwright to drive automation:
### 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');

Expand All @@ -71,12 +72,12 @@ By default, the `playwright` NPM package automatically downloads browser executa
<!-- GEN:stop -->

#### playwright.chromium
- returns: <[BrowserType]>
- type: <[BrowserType]>

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

#### playwright.devices
- returns: <[Object]>
- type: <[Object]>

Returns a list of devices to be used with [`browser.newContext([options])`](#browsernewcontextoptions) or [`browser.newPage([options])`](#browsernewpageoptions). Actual list of devices can be found in [src/server/deviceDescriptors.ts](https://github.com/Microsoft/playwright/blob/master/src/server/deviceDescriptors.ts).

Expand All @@ -97,16 +98,15 @@ const iPhone = devices['iPhone 6'];
```

#### playwright.errors
- returns: <[Object]>
- type: <[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])`](#pagewaitforselectorselector-options)
might fail if the selector doesn't match any nodes during the given timeframe.
Playwright methods might throw errors if they are unable to fulfill a request. For example, [`page.waitForSelector(selector[, options])`](#pagewaitforselectorselector-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`](#playwrighterrors).
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');
Expand All @@ -118,22 +118,20 @@ try {
```

#### playwright.firefox
- returns: <[BrowserType]>
- type: <[BrowserType]>

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

#### playwright.selectors
- returns: <[Selectors]>
- type: <[Selectors]>

Selectors can be used to install custom selector engines. See [Working with selectors](#working-with-selectors) for more information.

#### playwright.webkit
- returns: <[BrowserType]>
- type: <[BrowserType]>

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



### class: Browser
* extends: [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)

Expand Down
1 change: 1 addition & 0 deletions src/client/api.ts
Expand Up @@ -43,3 +43,4 @@ export { CDPSession } from './cdpSession';
export { WebKitBrowser } from './webkitBrowser';

export { FirefoxBrowser } from './firefoxBrowser';
export { Playwright } from './playwright';
5 changes: 4 additions & 1 deletion utils/generate_types/index.js
Expand Up @@ -428,7 +428,10 @@ function mergeDocumentation(mdDoc, jsDoc) {
else
classes.push(mergeClasses(mdClass, jsClass));
}

// Root module types are overridden.
const c = mdDoc.classes.get('Playwright');
mdDoc.classes.delete('Playwright');
mdDoc.classesArray.splice(mdDoc.classesArray.indexOf(c), 1);
return mdDoc;
}

Expand Down