puppeteer/new-docs/puppeteer.page.md
Changhao Han 4ebf117116
docs: migrating Page.ts to TSDoc (#6152)
* docs: a small batch of page TSdoc migration

Co-authored-by: Changhao Han <changhaohan@chromium.org>
2020-07-03 13:12:59 +01:00

7.7 KiB

Home > puppeteer > Page

Page class

Page provides methods to interact with a single tab or [extension background page](https://developer.chrome.com/extensions/background_pages) in Chromium. One [Browser] instance might have multiple [Page] instances.

Signature:

export declare class Page extends EventEmitter 

Extends: EventEmitter

Remarks

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()