puppeteer/website/versioned_docs/version-21.5.2/api/index.md
release-please[bot] a6b508aa36
chore: release main (#11364)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2023-11-15 10:48:54 +00:00

65 KiB

sidebar_label
API

API Reference

Classes

Class Description
Accessibility The Accessibility class provides methods for inspecting the browser's accessibility tree. The accessibility tree is used by assistive technology such as screen readers or switches.
Browser

Browser represents a browser instance that is either:

- connected to via Puppeteer.connect() or - launched by PuppeteerNode.launch().

Browser emits various events which are documented in the BrowserEvent enum.

BrowserContext

BrowserContext represents individual sessions within a browser.

When a browser is launched, it has a single browser context by default. Others can be created using Browser.createIncognitoBrowserContext().

BrowserContext emits various events which are documented in the BrowserContextEvent enum.

If a page opens another page, e.g. using window.open, the popup will belong to the parent page's browser context.

CDPSession The CDPSession instances are used to talk raw Chrome Devtools Protocol.
Connection
ConsoleMessage ConsoleMessage objects are dispatched by page via the 'console' event.
Coverage The Coverage class provides methods to gather information about parts of JavaScript and CSS that were used by the page.
CSSCoverage
CustomError
DeviceRequestPrompt Device request prompts let you respond to the page requesting for a device through an API like WebBluetooth.
DeviceRequestPromptDevice Device in a request prompt.
Dialog Dialog instances are dispatched by the Page via the dialog event.
ElementHandle ElementHandle represents an in-page DOM element.
EventEmitter The EventEmitter class that many Puppeteer classes extend.
FileChooser File choosers let you react to the page requesting for a file.
Frame

Represents a DOM frame.

To understand frames, you can think of frames as <iframe> elements. Just like iframes, frames can be nested, and when JavaScript is executed in a frame, the JavaScript does not effect frames inside the ambient frame the JavaScript executes in.

HTTPRequest Represents an HTTP request sent by a page.
HTTPResponse The HTTPResponse class represents responses which are received by the Page class.
JSCoverage
JSHandle

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

Handles prevent the referenced JavaScript object from being garbage-collected unless the handle is purposely disposed. JSHandles are auto-disposed when their associated frame is navigated away or the parent context gets destroyed.

Handles can be used as arguments for any evaluation function such as Page.$eval(), Page.evaluate(), and Page.evaluateHandle(). They are resolved to their referenced object.

Keyboard 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.
Locator Locators describe a strategy of locating objects and performing an action on them. If the action fails because the object is not ready for the action, the whole operation is retried. Various preconditions for a successful action are checked automatically.
Mouse The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport.
Page

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

:::note

One Browser instance might have multiple Page instances.

:::

ProductLauncher Describes a launcher - a class that is able to create and launch a browser instance.
ProtocolError ProtocolError is emitted whenever there is an error from the protocol.
Puppeteer

The main Puppeteer class.

IMPORTANT: if you are using Puppeteer in a Node environment, you will get an instance of PuppeteerNode when you import or require puppeteer. That class extends Puppeteer, so has all the methods documented below as well as all that are defined on PuppeteerNode.

PuppeteerNode

Extends the main Puppeteer class with Node specific behaviour for fetching and downloading browsers.

If you're using Puppeteer in a Node environment, this is the class you'll get when you run require('puppeteer') (or the equivalent ES import).

ScreenRecorder
SecurityDetails The SecurityDetails class represents the security details of a response that was received over a secure connection.
Target Target represents a CDP target. In CDP a target is something that can be debugged such a frame, a page or a worker.
TimeoutError TimeoutError is emitted whenever certain operations are terminated due to timeout.
Touchscreen The Touchscreen class exposes touchscreen events.
Tracing The Tracing class exposes the tracing audit interface.
UnsupportedOperation Puppeteer will throw this error if a method is not supported by the currently used protocol
WebWorker This class represents a WebWorker.

Enumerations

Enumeration Description
BrowserContextEvent
BrowserEvent All the events a browser instance may emit.
InterceptResolutionAction
LocatorEvent All the events that a locator instance may emit.
PageEvent All the events that a page instance may emit.
TargetType

Functions

Function Description
clearCustomQueryHandlers()
customQueryHandlerNames()
registerCustomQueryHandler(name, handler)
unregisterCustomQueryHandler(name)

Interfaces

Interface Description
ActionOptions
AutofillData
BoundingBox
BoxModel
BrowserConnectOptions Generic browser options that can be passed when launching any browser or when connecting to an existing browser instance.
BrowserContextEvents
BrowserContextOptions
BrowserEvents
BrowserLaunchArgumentOptions Launcher options that only apply to Chrome.
CDPSessionEvents
ClickOptions
CommonEventEmitter
Configuration

Defines options to configure Puppeteer's behavior during installation and runtime.

See individual properties for more information.

ConnectionTransport
ConnectOptions
ConsoleMessageLocation
ContinueRequestOverrides
CoverageEntry The CoverageEntry class represents one entry of the coverage report.
Credentials
CSSCoverageOptions Set of configurable options for CSS coverage.
CustomQueryHandler
Device
ElementScreenshotOptions
FrameAddScriptTagOptions
FrameAddStyleTagOptions
FrameEvents
FrameWaitForFunctionOptions
GeolocationOptions
GoToOptions
InterceptResolutionState
InternalNetworkConditions
JSCoverageEntry The CoverageEntry class for JavaScript
JSCoverageOptions Set of configurable options for JS coverage.
KeyboardTypeOptions
KeyDownOptions
LaunchOptions Generic launch options that can be passed when launching any browser.
LocatorEvents
LocatorOptions
LocatorScrollOptions
MediaFeature
Metrics
MouseClickOptions
MouseMoveOptions
MouseOptions
MouseWheelOptions
Moveable
NetworkConditions
NewDocumentScriptEvaluation
Offset
PageEvents

Denotes the objects received by callback functions for page events.

See PageEvent for more detail on the events and when they are emitted.

PDFMargin
PDFOptions Valid options to configure PDF generation via Page.pdf().
Point
PuppeteerErrors
PuppeteerLaunchOptions
RemoteAddress
ResponseForRequest Required response data to fulfill a request with.
ScreencastOptions
ScreenshotClip
ScreenshotOptions
SerializedAXNode Represents a Node and the properties of it that are relevant to Accessibility.
SnapshotOptions
TracingOptions
Viewport
WaitForOptions
WaitForSelectorOptions
WaitForTargetOptions
WaitTimeoutOptions

Namespaces

Namespace Description
CDPSessionEvent Events that the CDPSession class emits.

Variables

Variable Description
connect
DEFAULT_INTERCEPT_RESOLUTION_PRIORITY The default cooperative request interception resolution priority
defaultArgs
devices
errors
executablePath
KnownDevices A list of devices to be used with Page.emulate().
launch
MouseButton Enum of valid mouse buttons.
networkConditions
PredefinedNetworkConditions A list of network conditions to be used with Page.emulateNetworkConditions().
puppeteer
trimCache

Type Aliases

Type Alias Description
ActionResult
Awaitable
AwaitableIterable
AwaitedLocator
CDPEvents
ChromeReleaseChannel
ConsoleMessageType The supported types for console messages.
ElementFor
ErrorCode
EvaluateFunc
EvaluateFuncWith
EventsWithWildcard
EventType
ExperimentsConfiguration

Defines experiment options for Puppeteer.

See individual properties for more information.

FlattenHandle
HandleFor
HandleOr
Handler
InnerParams
InterceptResolutionStrategy
KeyInput All the valid keys that can be passed to functions that take user input, such as keyboard.press
KeyPressOptions
LocatorClickOptions
LowerCasePaperFormat
Mapper
MouseButton
NodeFor
PaperFormat All the valid paper format types when printing a PDF.
Permission
Predicate
Product Supported products.
ProtocolLifeCycleEvent
PuppeteerLifeCycleEvent
PuppeteerNodeLaunchOptions Utility type exposed to enable users to define options that can be passed to puppeteer.launch without having to list the set of all types.
Quad
ResourceType Resource types for HTTPRequests as perceived by the rendering engine.
TargetFilterCallback
VisibilityOption