

ProtocolError is emitted whenever there is an error from the protocol. One Browser instance might have multiple Page instances.ĭescribes a launcher - a class that is able to create and launch a browser instance. Page provides methods to interact with a single tab or extension background page in the browser. The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport. The high level api is Keyboard.type(), which takes raw characters and generates proper keydown, keypress/input, and keyup events on your page. Keyboard provides an api for managing a virtual keyboard. They are resolved to their referenced object. Handles can be used as arguments for any evaluation function such as Page.$eval(), Page.evaluate(), and Page.evaluateHandle(). JSHandles are auto-disposed when their associated frame is navigated away or the parent context gets destroyed. Handles prevent the referenced JavaScript object from being garbage-collected unless the handle is purposely disposed. Instances can be created using Page.evaluateHandle(). Represents a reference to a JavaScript object. The HTTPResponse class represents responses which are received by the Page class. Represents an HTTP request sent by a page.

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. To understand frames, you can think of frames as elements. The EventEmitter class that many Puppeteer classes extend.įile choosers let you react to the page requesting for a file. The Coverage class provides methods to gather information about parts of JavaScript and CSS that were used by the page.ĭevice request prompts let you respond to the page requesting for a device through an API like WebBluetooth.ĭialog instances are dispatched by the Page via the dialog event.ĮlementHandle represents an in-page DOM element. The CDPSession instances are used to talk raw Chrome Devtools Protocol.ĬonsoleMessage objects are dispatched by page via the 'console' event. The method Browser.newPage creates a page in the default browser context. When a browser is launched, it has a single BrowserContext used by default.

The accessibility tree is used by assistive technology such as screen readers or switches.Ī Browser is created when Puppeteer connects to a browser instance, either through PuppeteerNode.launch() or nnect().īrowserContexts provide a way to operate multiple independent browser sessions. The Accessibility class provides methods for inspecting the browser's accessibility tree.
