puppeteer/new-docs/puppeteer.page.md
Jack Franklin ba7624a6df
chore(docs): migrate & document all Page events (#6154)
* chore(docs): migrate & document all Page events

Rather than a generic `Events.ts` file we can instead document events as
an enum within each individual class. It's easier to document and work
with, and it's clearer where events originate from.
2020-07-06 11:34:55 +01:00

7.7 KiB

Home > puppeteer > Page

Page class

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

Signature:

export declare class Page extends EventEmitter 

Extends: EventEmitter

Remarks

One Browser instance might have multiple Page instances.

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the Page class.

Example 1

This example creates a page, navigates it to a URL, and then * saves a screenshot:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'screenshot.png'});
  await browser.close();
})();

The Page class extends from Puppeteer's EventEmitter class and will emit various events which are documented in the PageEmittedEvents enum.

Example 2

This example logs a message for a single page load event:

page.once('load', () => console.log('Page loaded!'));

To unsubscribe from events use the off method:

function logRequest(interceptedRequest) {
  console.log('A request was made:', interceptedRequest.url());
}
page.on('request', logRequest);
// Sometime later...
page.off('request', logRequest);

Properties

Property Modifiers Type Description
accessibility Accessibility
coverage Coverage
keyboard Keyboard
mouse Mouse
touchscreen Touchscreen
tracing Tracing

Methods

Method Modifiers Description
$(selector) Runs document.querySelector within the page. If no element matches the selector, the return value resolves to null.
$$(selector)
$$eval(selector, pageFunction, args) This method runs Array.from(document.querySelectorAll(selector)) within the page and passes the result as the first argument to the pageFunction.
$eval(selector, pageFunction, args) This method runs document.querySelector within the page and passes the result as the first argument to the pageFunction.
$x(expression)
addScriptTag(options)
addStyleTag(options)
authenticate(credentials)
bringToFront()
browser()
browserContext()
click(selector, options)
close(options)
content()
cookies(urls) If no URLs are specified, this method returns cookies for the current page URL. If URLs are specified, only cookies for those URLs are returned.
deleteCookie(cookies)
emulate(options)
emulateMediaFeatures(features)
emulateMediaType(type)
emulateTimezone(timezoneId)
emulateVisionDeficiency(type)
evaluate(pageFunction, args)
evaluateHandle(pageFunction, args)
evaluateOnNewDocument(pageFunction, args)
exposeFunction(name, puppeteerFunction)
focus(selector)
frames()
goBack(options)
goForward(options)
goto(url, options)
hover(selector)
isClosed()
isJavaScriptEnabled()
mainFrame()
metrics()
pdf(options)
queryObjects(prototypeHandle)
reload(options)
screenshot(options)
select(selector, values)
setBypassCSP(enabled)
setCacheEnabled(enabled)
setContent(html, options)
setCookie(cookies)
setDefaultNavigationTimeout(timeout)
setDefaultTimeout(timeout)
setExtraHTTPHeaders(headers)
setGeolocation(options) Sets the page's geolocation.
setJavaScriptEnabled(enabled)
setOfflineMode(enabled)
setRequestInterception(value)
setUserAgent(userAgent)
setViewport(viewport)
tap(selector)
target()
title()
type(selector, text, options)
url()
viewport()
waitFor(selectorOrFunctionOrTimeout, options, args)
waitForFileChooser(options)
waitForFunction(pageFunction, options, args)
waitForNavigation(options)
waitForRequest(urlOrPredicate, options)
waitForResponse(urlOrPredicate, options)
waitForSelector(selector, options)
waitForXPath(xpath, options)
workers()