fix: improve screenshot method types (#9529)
The only drawback of adding overrides is that our documentation generator would generate a page for each overload which might be hard to read/find on the documentation website. Closes #9512 #9385
This commit is contained in:
parent
153d65dd83
commit
6847f8835f
@ -69,7 +69,7 @@ The constructor for this class is marked as internal. Third-party code should no
|
|||||||
| [hover(this)](./puppeteer.elementhandle.hover.md) | | This method scrolls element into view if needed, and then uses [Page.mouse](./puppeteer.page.mouse.md) to hover over the center of the element. If the element is detached from DOM, the method throws an error. |
|
| [hover(this)](./puppeteer.elementhandle.hover.md) | | This method scrolls element into view if needed, and then uses [Page.mouse](./puppeteer.page.mouse.md) to hover over the center of the element. If the element is detached from DOM, the method throws an error. |
|
||||||
| [isIntersectingViewport(this, options)](./puppeteer.elementhandle.isintersectingviewport.md) | | Resolves to true if the element is visible in the current viewport. |
|
| [isIntersectingViewport(this, options)](./puppeteer.elementhandle.isintersectingviewport.md) | | Resolves to true if the element is visible in the current viewport. |
|
||||||
| [press(key, options)](./puppeteer.elementhandle.press.md) | | Focuses the element, and then uses [Keyboard.down()](./puppeteer.keyboard.down.md) and [Keyboard.up()](./puppeteer.keyboard.up.md). |
|
| [press(key, options)](./puppeteer.elementhandle.press.md) | | Focuses the element, and then uses [Keyboard.down()](./puppeteer.keyboard.down.md) and [Keyboard.up()](./puppeteer.keyboard.up.md). |
|
||||||
| [screenshot(this, options)](./puppeteer.elementhandle.screenshot.md) | | This method scrolls element into view if needed, and then uses [Page.screenshot()](./puppeteer.page.screenshot.md) to take a screenshot of the element. If the element is detached from DOM, the method throws an error. |
|
| [screenshot(this, options)](./puppeteer.elementhandle.screenshot.md) | | This method scrolls element into view if needed, and then uses to take a screenshot of the element. If the element is detached from DOM, the method throws an error. |
|
||||||
| [select(values)](./puppeteer.elementhandle.select.md) | | Triggers a <code>change</code> and <code>input</code> event once all the provided options have been selected. If there's no <code><select></code> element matching <code>selector</code>, the method throws an error. |
|
| [select(values)](./puppeteer.elementhandle.select.md) | | Triggers a <code>change</code> and <code>input</code> event once all the provided options have been selected. If there's no <code><select></code> element matching <code>selector</code>, the method throws an error. |
|
||||||
| [tap(this)](./puppeteer.elementhandle.tap.md) | | This method scrolls element into view if needed, and then uses [Touchscreen.tap()](./puppeteer.touchscreen.tap.md) to tap in the center of the element. If the element is detached from DOM, the method throws an error. |
|
| [tap(this)](./puppeteer.elementhandle.tap.md) | | This method scrolls element into view if needed, and then uses [Touchscreen.tap()](./puppeteer.touchscreen.tap.md) to tap in the center of the element. If the element is detached from DOM, the method throws an error. |
|
||||||
| [toElement(tagName)](./puppeteer.elementhandle.toelement.md) | | Converts the current handle to the given element type. |
|
| [toElement(tagName)](./puppeteer.elementhandle.toelement.md) | | Converts the current handle to the given element type. |
|
||||||
|
@ -4,7 +4,7 @@ sidebar_label: ElementHandle.screenshot
|
|||||||
|
|
||||||
# ElementHandle.screenshot() method
|
# ElementHandle.screenshot() method
|
||||||
|
|
||||||
This method scrolls element into view if needed, and then uses [Page.screenshot()](./puppeteer.page.screenshot.md) to take a screenshot of the element. If the element is detached from DOM, the method throws an error.
|
This method scrolls element into view if needed, and then uses to take a screenshot of the element. If the element is detached from DOM, the method throws an error.
|
||||||
|
|
||||||
#### Signature:
|
#### Signature:
|
||||||
|
|
||||||
|
@ -126,6 +126,8 @@ page.off('request', logRequest);
|
|||||||
| [queryObjects(prototypeHandle)](./puppeteer.page.queryobjects.md) | | This method iterates the JavaScript heap and finds all objects with the given prototype. |
|
| [queryObjects(prototypeHandle)](./puppeteer.page.queryobjects.md) | | This method iterates the JavaScript heap and finds all objects with the given prototype. |
|
||||||
| [reload(options)](./puppeteer.page.reload.md) | | |
|
| [reload(options)](./puppeteer.page.reload.md) | | |
|
||||||
| [screenshot(options)](./puppeteer.page.screenshot.md) | | |
|
| [screenshot(options)](./puppeteer.page.screenshot.md) | | |
|
||||||
|
| [screenshot(options)](./puppeteer.page.screenshot_1.md) | | |
|
||||||
|
| [screenshot(options)](./puppeteer.page.screenshot_2.md) | | |
|
||||||
| [select(selector, values)](./puppeteer.page.select.md) | | Triggers a <code>change</code> and <code>input</code> event once all the provided options have been selected. If there's no <code><select></code> element matching <code>selector</code>, the method throws an error. |
|
| [select(selector, values)](./puppeteer.page.select.md) | | Triggers a <code>change</code> and <code>input</code> event once all the provided options have been selected. If there's no <code><select></code> element matching <code>selector</code>, the method throws an error. |
|
||||||
| [setBypassCSP(enabled)](./puppeteer.page.setbypasscsp.md) | | Toggles bypassing page's Content-Security-Policy. |
|
| [setBypassCSP(enabled)](./puppeteer.page.setbypasscsp.md) | | Toggles bypassing page's Content-Security-Policy. |
|
||||||
| [setCacheEnabled(enabled)](./puppeteer.page.setcacheenabled.md) | | Toggles ignoring cache for each request based on the enabled state. By default, caching is enabled. |
|
| [setCacheEnabled(enabled)](./puppeteer.page.setcacheenabled.md) | | Toggles ignoring cache for each request based on the enabled state. By default, caching is enabled. |
|
||||||
|
@ -8,19 +8,23 @@ sidebar_label: Page.screenshot
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class Page {
|
class Page {
|
||||||
screenshot(options?: ScreenshotOptions): Promise<Buffer | string>;
|
screenshot(
|
||||||
|
options: ScreenshotOptions & {
|
||||||
|
encoding: 'base64';
|
||||||
|
}
|
||||||
|
): Promise<string>;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ----------------------------------------------------- | ----------------- |
|
| --------- | ----------------------------------------------------------------------------------- | ----------- |
|
||||||
| options | [ScreenshotOptions](./puppeteer.screenshotoptions.md) | <i>(Optional)</i> |
|
| options | [ScreenshotOptions](./puppeteer.screenshotoptions.md) & { encoding: 'base64'; } | |
|
||||||
|
|
||||||
**Returns:**
|
**Returns:**
|
||||||
|
|
||||||
Promise<Buffer \| string>
|
Promise<string>
|
||||||
|
|
||||||
Promise which resolves to buffer or a base64 string (depending on the value of `encoding`) with captured screenshot.
|
Promise which resolves to buffer or a base64 string (depending on the value of `encoding`) with captured screenshot.
|
||||||
|
|
||||||
|
27
docs/api/puppeteer.page.screenshot_1.md
Normal file
27
docs/api/puppeteer.page.screenshot_1.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
sidebar_label: Page.screenshot_1
|
||||||
|
---
|
||||||
|
|
||||||
|
# Page.screenshot() method
|
||||||
|
|
||||||
|
#### Signature:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
class Page {
|
||||||
|
screenshot(
|
||||||
|
options?: ScreenshotOptions & {
|
||||||
|
encoding?: 'binary';
|
||||||
|
}
|
||||||
|
): Promise<Buffer>;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
| Parameter | Type | Description |
|
||||||
|
| --------- | ------------------------------------------------------------------------------------ | ----------------- |
|
||||||
|
| options | [ScreenshotOptions](./puppeteer.screenshotoptions.md) & { encoding?: 'binary'; } | <i>(Optional)</i> |
|
||||||
|
|
||||||
|
**Returns:**
|
||||||
|
|
||||||
|
Promise<Buffer>
|
23
docs/api/puppeteer.page.screenshot_2.md
Normal file
23
docs/api/puppeteer.page.screenshot_2.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
sidebar_label: Page.screenshot_2
|
||||||
|
---
|
||||||
|
|
||||||
|
# Page.screenshot() method
|
||||||
|
|
||||||
|
#### Signature:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
class Page {
|
||||||
|
screenshot(options?: ScreenshotOptions): Promise<Buffer | string>;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
| Parameter | Type | Description |
|
||||||
|
| --------- | ----------------------------------------------------- | ----------------- |
|
||||||
|
| options | [ScreenshotOptions](./puppeteer.screenshotoptions.md) | <i>(Optional)</i> |
|
||||||
|
|
||||||
|
**Returns:**
|
||||||
|
|
||||||
|
Promise<Buffer \| string>
|
@ -2123,6 +2123,12 @@ export class Page extends EventEmitter {
|
|||||||
* @returns Promise which resolves to buffer or a base64 string (depending on
|
* @returns Promise which resolves to buffer or a base64 string (depending on
|
||||||
* the value of `encoding`) with captured screenshot.
|
* the value of `encoding`) with captured screenshot.
|
||||||
*/
|
*/
|
||||||
|
screenshot(
|
||||||
|
options: ScreenshotOptions & {encoding: 'base64'}
|
||||||
|
): Promise<string>;
|
||||||
|
screenshot(
|
||||||
|
options?: ScreenshotOptions & {encoding?: 'binary'}
|
||||||
|
): Promise<Buffer>;
|
||||||
async screenshot(options?: ScreenshotOptions): Promise<Buffer | string>;
|
async screenshot(options?: ScreenshotOptions): Promise<Buffer | string>;
|
||||||
async screenshot(): Promise<Buffer | string> {
|
async screenshot(): Promise<Buffer | string> {
|
||||||
throw new Error('Not implemented');
|
throw new Error('Not implemented');
|
||||||
|
@ -1270,6 +1270,12 @@ export class CDPPage extends Page {
|
|||||||
await this.#frameManager.networkManager.setCacheEnabled(enabled);
|
await this.#frameManager.networkManager.setCacheEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override screenshot(
|
||||||
|
options: ScreenshotOptions & {encoding: 'base64'}
|
||||||
|
): Promise<string>;
|
||||||
|
override screenshot(
|
||||||
|
options?: ScreenshotOptions & {encoding?: 'binary'}
|
||||||
|
): Promise<Buffer>;
|
||||||
override async screenshot(
|
override async screenshot(
|
||||||
options: ScreenshotOptions = {}
|
options: ScreenshotOptions = {}
|
||||||
): Promise<Buffer | string> {
|
): Promise<Buffer | string> {
|
||||||
|
Loading…
Reference in New Issue
Block a user