Skip to main content
Version: 21.1.0

Page.screenshot() method

Captures screenshot of the current page.

Signature:

class Page {
screenshot(
options: ScreenshotOptions & {
encoding: 'base64';
}
): Promise<string>;
}

Parameters

ParameterTypeDescription
optionsScreenshotOptions & { encoding: 'base64'; }

Returns:

Promise<string>

Promise which resolves to buffer or a base64 string (depending on the value of encoding) with captured screenshot.

Remarks

Options object which might have the following properties:

  • path : The file path to save the image to. The screenshot type will be inferred from file extension. If path is a relative path, then it is resolved relative to current working directory. If no path is provided, the image won't be saved to the disk.

  • type : Specify screenshot type, can be jpeg, png or webp. Defaults to 'png'.

  • quality : The quality of the image, between 0-100. Not applicable to png images.

  • fullPage : When true, takes a screenshot of the full scrollable page. Defaults to false.

  • clip : An object which specifies clipping region of the page. Should have the following fields:
    - x : x-coordinate of top-left corner of clip area.
    - y : y-coordinate of top-left corner of clip area.
    - width : width of clipping area.
    - height : height of clipping area.

  • omitBackground : Hides default white background and allows capturing screenshots with transparency. Defaults to false.

  • encoding : The encoding of the image, can be either base64 or binary. Defaults to binary.

  • captureBeyondViewport : When true, captures screenshot beyond the viewport. When false, falls back to old behaviour, and cuts the screenshot by the viewport size. Defaults to true.

  • fromSurface : When true, captures screenshot from the surface rather than the view. When false, works only in headful mode and ignores page viewport (but not browser window's bounds). Defaults to true.