puppeteer/new-docs/puppeteer.md
Jack Franklin e655bb6ca2
chore(agnostification): split up root Puppeteer class (#6504)
The `Puppeteer` class had two concerns:

* connect to an existing browser
* launch a new browser

The first of those concerns is needed in all environments, but the
second is only needed in Node.
https://github.com/puppeteer/puppeteer/pull/6484 landing enabled us to
pull the `Puppeteer` class apart into two:

1. `Puppeteer` which hosts the behaviour for connecting to existing
   browsers.
2. `PuppeteerNode`, which extends `Puppeteer` and also adds the ability
   to launch a new browser.

This is a non-breaking change, because Node users will still get an
instance of a class with all the methods they expect, but it'll be a
`PuppeteerNode` rather than `Puppeteer`. I don't expect this to cause
people any issues.

We also now have new files that are effectively the entry points for
Puppeteer:

* `node.ts`: the main entry point for Puppeteer on Node.
* `web.ts`: the main entry point for Puppeteer on the web.
* `node-puppeteer-core.ts`: for those using puppeteer-core (which only
  exists in Node, not on the web).
2020-10-13 16:19:26 +01:00

11 KiB

Home > puppeteer

puppeteer package

Classes

Class Description
Accessibility 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.
Browser A Browser is created when Puppeteer connects to a Chromium instance, either through PuppeteerNode.launch() or Puppeteer.connect().
BrowserContext 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 creates a page in the default browser context.
BrowserFetcher BrowserFetcher can download and manage different versions of Chromium and Firefox.
CDPSession The CDPSession instances are used to talk raw Chrome Devtools Protocol.
ConsoleMessage ConsoleMessage objects are dispatched by page via the 'console' event.
Coverage The Coverage class provides methods to gathers information about parts of JavaScript and CSS that were used by the page.
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.
ExecutionContext This class represents a context for JavaScript execution. A [Page] might have many execution contexts: - each frame has "default" execution context that is always created after frame is attached to DOM. This context is returned by the method. - Extension's content scripts create additional execution contexts.Besides pages, execution contexts can be found in workers.
FileChooser File choosers let you react to the page requesting for a file.
Frame At every point of time, page exposes its current frame tree via the page.mainFrame and frame.childFrames methods.
HTTPRequest Represents an HTTP request sent by a page.
HTTPResponse The HTTPResponse class represents responses which are received by the Page class.
JSHandle Represents an in-page JavaScript object. JSHandles can be created with the page.evaluateHandle method.
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.
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 Chromium.
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).
SecurityDetails The SecurityDetails class represents the security details of a response that was received over a secure connection.
Target
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.
WebWorker The WebWorker class represents a WebWorker.

Enumerations

Enumeration Description
BrowserContextEmittedEvents
BrowserEmittedEvents All the events a browser instance may emit.
PageEmittedEvents All the events that a page instance may emit.

Interfaces

Interface Description
BoundingBox
BoxModel
BrowserFetcherOptions
BrowserFetcherRevisionInfo
BrowserOptions Generic browser options that can be passed when launching any browser.
ChromeArgOptions Launcher options that only apply to Chrome.
ClickOptions
ConnectOptions
ConsoleMessageLocation
ContinueRequestOverrides
CoverageEntry The CoverageEntry class represents one entry of the coverage report.
Credentials
CSSCoverageOptions Set of configurable options for CSS coverage.
CustomQueryHandler Contains two functions queryOne and queryAll that can be registered as alternative querying strategies. The functions queryOne and queryAll are executed in the page context. queryOne should take an Element and a selector string as argument and return a single Element or null if no element is found. queryAll takes the same arguments but should instead return a NodeListOf<Element> or Array<Element> with all the elements that match the given query selector.
FrameAddScriptTagOptions
FrameAddStyleTagOptions
FrameWaitForFunctionOptions
GeolocationOptions
JSCoverageOptions Set of configurable options for JS coverage.
JSONObject
LaunchOptions Generic launch options that can be passed when launching any browser.
Metrics
MouseOptions
MouseWheelOptions
PDFMargin
PDFOptions Valid options to configure PDF generation via Page.pdf().
PressOptions
ProductLauncher Describes a launcher - a class that is able to create and launch a browser instance.
RemoteAddress
ResponseForRequest Required response data to fulfill a request with.
SerializedAXNode Represents a Node and the properties of it that are relevant to Accessibility.
SnapshotOptions
TracingOptions
WaitForOptions
WaitForSelectorOptions
WaitForTargetOptions
WaitTimeoutOptions

Namespaces

Namespace Description
Protocol The Chrome DevTools Protocol.

Variables

Variable Description
devicesMap
EVALUATION_SCRIPT_URL
puppeteerErrors

Type Aliases

Type Alias Description
ConsoleMessageType The supported types for console messages.
DevicesMap
ErrorCode
EvaluateFn
EvaluateFnReturnType
EvaluateHandleFn
JSONArray
KeyInput All the valid keys that can be passed to functions that take user input, such as keyboard.press
MouseButton
PaperFormat All the valid paper format types when printing a PDF.
Platform Supported platforms.
Product Supported products.
PuppeteerErrors
PuppeteerLifeCycleEvent
Serializable
SerializableOrJSHandle
UnwrapElementHandle Unwraps a DOM element out of an ElementHandle instance
UnwrapPromiseLike
WrapElementHandle Wraps a DOM element into an ElementHandle instance