From 41d43200b7df062c1ef556ba00fa2afaf60a4627 Mon Sep 17 00:00:00 2001 From: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:50:39 +0200 Subject: [PATCH] docs: show `experimental` and `remark` blocks (#12363) --- docs/api/index.md | 219 +++++++++++++++++ docs/api/puppeteer.accessibility.md | 4 + docs/api/puppeteer.browser.md | 18 +- docs/api/puppeteer.browsercontext.md | 8 + docs/api/puppeteer.browserevent.md | 12 + .../puppeteer.browserlaunchargumentoptions.md | 6 + docs/api/puppeteer.configuration.md | 4 + docs/api/puppeteer.connectoptions.md | 4 + docs/api/puppeteer.coverage.md | 12 + docs/api/puppeteer.elementhandle.md | 33 +++ docs/api/puppeteer.filechooser.md | 4 + docs/api/puppeteer.frame.md | 37 +++ .../api/puppeteer.frameaddscripttagoptions.md | 4 + docs/api/puppeteer.frameaddstyletagoptions.md | 4 + docs/api/puppeteer.httprequest.md | 41 +++- docs/api/puppeteer.httpresponse.md | 8 + docs/api/puppeteer.jshandle.md | 8 + docs/api/puppeteer.keyboard.md | 24 ++ docs/api/puppeteer.page.md | 229 +++++++++++++++++- docs/api/puppeteer.pageevent.md | 22 ++ docs/api/puppeteer.pdfoptions.md | 16 +- docs/api/puppeteer.puppeteernode.md | 8 + docs/api/puppeteer.target.md | 4 + docs/api/puppeteer.touchscreen.md | 4 + docs/api/puppeteer.tracing.md | 4 + docs/api/puppeteer.viewport.md | 12 + docs/api/puppeteer.webworker.md | 14 ++ docs/browsers-api/index.md | 8 + .../puppeteer-core/src/common/PDFOptions.ts | 2 +- .../docgen/src/custom_markdown_documenter.ts | 28 +++ 30 files changed, 795 insertions(+), 6 deletions(-) diff --git a/docs/api/index.md b/docs/api/index.md index aa62b2a7688..409fecfe82c 100644 --- a/docs/api/index.md +++ b/docs/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 `