Skip to main content


A port of puppeteer running on Deno
import * as puppeteer from "";


Mappings from protocol event and command names to the types required for them.


The Accessibility class provides methods for inspecting Chromium's accessibility tree. The accessibility tree is used by assistive technology such as screen readers or switches.

A Browser is created when Puppeteer connects to a Chromium instance, either through PuppeteerNode.launch or Puppeteer.connect.

BrowserContexts provide a way to operate multiple independent browser sessions. When a browser is launched, it has a single BrowserContext used by default. The method Browser.newPage | Browser.newPage creates a page in the default browser context.

The CDPSession instances are used to talk raw Chrome Devtools Protocol.

ChromeTargetManager uses the CDP's auto-attach mechanism to intercept new targets and allow the rest of Puppeteer to configure listeners while the target is paused.

ConsoleMessage objects are dispatched by page via the 'console' event.

The Coverage class provides methods to gathers information about parts of JavaScript and CSS that were used by the page.

Dialog instances are dispatched by the Page via the dialog event.

ElementHandle represents an in-page DOM element.

The EventEmitter class that many Puppeteer classes extend.


File choosers let you react to the page requesting for a file.

FirefoxTargetManager implements target management using Target.setDiscoverTargets without using auto-attach. It, therefore, creates targets that lazily establish their CDP sessions.

Represents a DOM frame.

A frame manager manages the frames for a given Page | page.

Represents an HTTP request sent by a page.

The HTTPResponse class represents responses which are received by the Page class.

Represents a reference to a JavaScript object. Instances can be created using Page.evaluateHandle.

Keyboard provides an api for managing a virtual keyboard. The high level api is Keyboard."type", which takes raw characters and generates proper keydown, keypress/input, and keyup events on your page.

The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport.

Helper class to track network events by request ID

Page provides methods to interact with a single tab or extension background page in Chromium.

ProtocolError is emitted whenever there is an error from the protocol.

The main Puppeteer class.

The SecurityDetails class represents the security details of a response that was received over a secure connection.

TimeoutError is emitted whenever certain operations are terminated due to timeout.

The Touchscreen class exposes touchscreen events.

The Tracing class exposes the tracing audit interface.

This class represents a WebWorker.


All the events a Browser | browser instance may emit.

All the events that a page instance may emit.


Internal events that the CDPSession class emits.

Internal events that the Connection class emits.

A debug function that can be used in any environment.

The default cooperative request interception resolution priority

A list of devices to be used with page.emulate(options). Actual list of devices can be found in src/common/DeviceDescriptors.ts.

Puppeteer methods might throw errors if they are unable to fulfill a request. For example, page.waitForSelector(selector[, options]) might fail if the selector doesn't match any nodes during the given timeframe.

We use symbols to prevent external parties listening to these events. They are internal to Puppeteer.

Copyright 2020 Google Inc. All rights reserved.

A unique key for IsolatedWorldChart to denote the default world. Execution contexts are automatically created in the default world.

A list of network conditions to be used with page.emulateNetworkConditions(networkConditions). Actual list of predefined conditions can be found in src/common/NetworkConditions.ts.

We use symbols to prevent any external parties listening to these events. They are internal to Puppeteer.

A unique key for IsolatedWorldChart to denote the puppeteer world. This world contains all puppeteer-internal bindings/code.


Generic browser options that can be passed when launching any browser or when connecting to an existing browser instance.

BrowserContext options.

Settings that are common to the Puppeteer class, regardless of environment.

The CoverageEntry class represents one entry of the coverage report.

Set of configurable options for CSS coverage.

The CoverageEntry class for JavaScript

Set of configurable options for JS coverage.

Denotes the objects received by callback functions for page events.

Valid options to configure PDF generation via Page.pdf.

Required response data to fulfill a request with.

Represents a Node and the properties of it that are relevant to Accessibility.

TargetManager encapsulates all interactions with CDP targets and is responsible for coordinating the configuration of targets with the rest of Puppeteer. Code outside of this class should not subscribe Target.* events and only use the TargetManager events.

Sets the viewport of the page.

Type Aliases

The supported types for console messages.

All the valid keys that can be passed to functions that take user input, such as |

All the valid paper format types when printing a PDF.

Supported products.

Resource types for HTTPRequests as perceived by the rendering engine.