puppeteer/new-docs/puppeteer.puppeteernode.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

2.6 KiB

Home > puppeteer > PuppeteerNode

PuppeteerNode class

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

Signature:

export declare class PuppeteerNode extends Puppeteer 

Extends: Puppeteer

Remarks

The most common method to use is launch, which is used to launch and connect to a new browser instance.

See the main Puppeteer class for methods common to all environments, such as Puppeteer.connect().

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

Example

The following is a typical example of using Puppeteer to drive automation:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.google.com');
  // other actions...
  await browser.close();
})();

Once you have created a page you have access to a large API to interact with the page, navigate, or find certain elements in that page. The `page` documentation lists all the available methods.

Properties

Property Modifiers Type Description
product string The name of the browser that is under automation ("chrome" or "firefox")

Methods

Method Modifiers Description
connect(options) This method attaches Puppeteer to an existing browser instance.
createBrowserFetcher(options)
defaultArgs(options)
executablePath()
launch(options) Launches puppeteer and launches a browser instance with given arguments and options when specified.