diff --git a/docs/supported-browsers.md b/docs/supported-browsers.md index 4a2a34d9a89c4..7f85b57b17045 100644 --- a/docs/supported-browsers.md +++ b/docs/supported-browsers.md @@ -10,6 +10,7 @@ The following versions of the browsers are supported, mapped to Puppeteer versio +- [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 124.0.6367.91 - [Puppeteer v22.8.0](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.8.0/docs/api/index.md) - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 124.0.6367.78 - [Puppeteer v22.7.1](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.7.1/docs/api/index.md) - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 124.0.6367.60 - [Puppeteer v22.7.0](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.7.0/docs/api/index.md) - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) 123.0.6312.122 - [Puppeteer v22.6.4](https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.6.4/docs/api/index.md) diff --git a/versions.js b/versions.js index 87c27a0c249a2..be1a5c6119346 100644 --- a/versions.js +++ b/versions.js @@ -7,7 +7,7 @@ const versionsPerRelease = new Map([ // This is a mapping from Chrome version => Puppeteer version. // In Chrome roll patches, use `NEXT` for the Puppeteer version. - ['124.0.6367.91', 'NEXT'], + ['124.0.6367.91', 'v22.8.0'], ['124.0.6367.78', 'v22.7.1'], ['124.0.6367.60', 'v22.7.0'], ['123.0.6312.122', 'v22.6.4'], diff --git a/website/versioned_docs/version-22.7.1/api/index.md b/website/versioned_docs/version-22.8.0/api/index.md similarity index 73% rename from website/versioned_docs/version-22.7.1/api/index.md rename to website/versioned_docs/version-22.8.0/api/index.md index aa62b2a768885..409fecfe82cc9 100644 --- a/website/versioned_docs/version-22.7.1/api/index.md +++ b/website/versioned_docs/version-22.8.0/api/index.md @@ -23,6 +23,16 @@ Description The Accessibility class provides methods for inspecting the browser's accessibility tree. The accessibility tree is used by assistive technology such as [screen readers](https://en.wikipedia.org/wiki/Screen_reader) or [switches](https://en.wikipedia.org/wiki/Switch_access). +**Remarks:** + +Accessibility is a very platform-specific thing. On different platforms, there are different screen readers that might have wildly different output. + +Blink - Chrome's rendering engine - has a concept of "accessibility tree", which is then translated into different platform-specific APIs. Accessibility namespace gives users access to the Blink Accessibility Tree. + +Most of the accessibility tree gets filtered out when converting from Blink AX Tree to Platform-specific AX-Tree or by assistive technologies themselves. By default, Puppeteer tries to approximate this filtering, exposing only the "interesting" nodes of the tree. + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Accessibility` class. + @@ -36,6 +46,10 @@ The Accessibility class provides methods for inspecting the browser's accessibil [Browser](./puppeteer.browser.md) [emits](./puppeteer.eventemitter.emit.md) various events which are documented in the [BrowserEvent](./puppeteer.browserevent.md) enum. +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Browser` class. + @@ -51,6 +65,10 @@ When a [browser](./puppeteer.browser.md) is launched, it has a single [browser c If a [page](./puppeteer.page.md) opens another [page](./puppeteer.page.md), e.g. using `window.open`, the popup will belong to the parent [page's browser context](./puppeteer.page.browsercontext.md). +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `BrowserContext` class. + @@ -60,6 +78,14 @@ If a [page](./puppeteer.page.md) opens another [page](./puppeteer.page.md), e.g. The `CDPSession` instances are used to talk raw Chrome Devtools Protocol. +**Remarks:** + +Protocol methods can be called with [CDPSession.send()](./puppeteer.cdpsession.send.md) method and protocol events can be subscribed to with `CDPSession.on` method. + +Useful links: [DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/) and [Getting Started with DevTools Protocol](https://github.com/aslushnikov/getting-started-with-cdp/blob/HEAD/README.md). + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `CDPSession` class. + @@ -85,6 +111,10 @@ ConsoleMessage objects are dispatched by page via the 'console' event. The Coverage class provides methods to gather information about parts of JavaScript and CSS that were used by the page. +**Remarks:** + +To output coverage in a form consumable by [Istanbul](https://github.com/istanbuljs), see [puppeteer-to-istanbul](https://github.com/istanbuljs/puppeteer-to-istanbul). + @@ -101,6 +131,12 @@ The Coverage class provides methods to gather information about parts of JavaScr Device request prompts let you respond to the page requesting for a device through an API like WebBluetooth. +**Remarks:** + +`DeviceRequestPrompt` instances are returned via the [Page.waitForDevicePrompt()](./puppeteer.page.waitfordeviceprompt.md) method. + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `DeviceRequestPrompt` class. + @@ -110,6 +146,10 @@ Device request prompts let you respond to the page requesting for a device throu Device in a request prompt. +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `DeviceRequestPromptDevice` class. + @@ -119,6 +159,10 @@ Device in a request prompt. Dialog instances are dispatched by the [Page](./puppeteer.page.md) via the `dialog` event. +**Remarks:** + +The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Dialog` class. + @@ -128,6 +172,31 @@ Dialog instances are dispatched by the [Page](./puppeteer.page.md) via the `dial ElementHandle represents an in-page DOM element. +**Remarks:** + +ElementHandles can be created with the [Page.$()](./puppeteer.page._.md) method. + +```ts +import puppeteer from 'puppeteer'; + +(async () => { + const browser = await puppeteer.launch(); + const page = await browser.newPage(); + await page.goto('https://example.com'); + const hrefElement = await page.$('a'); + await hrefElement.click(); + // ... +})(); +``` + +ElementHandle prevents the DOM element from being garbage-collected unless the handle is [disposed](./puppeteer.jshandle.dispose.md). ElementHandles are auto-disposed when their origin frame gets navigated. + +ElementHandle instances can be used as arguments in [Page.$eval()](./puppeteer.page._eval.md) and [Page.evaluate()](./puppeteer.page.evaluate.md) methods. + +If you're using TypeScript, ElementHandle takes a generic argument that denotes the type of element the handle is holding within. For example, if you have a handle to a `