A Headless Chrome Browser: Puppeteer

Puppeteer Introduction

Puppeteer is a Node.js library that provides a set of APIs to control Chrome. Compared to PhantomJS, it can directly call Chrome’s API in your Node.js project. Many automation tests and crawlers can be based on Puppeteer in the future.

Installation

npm install puppeteer

Usage

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: 'example.png'});

  await browser.close();
})();

Save Page as PDF

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});

  await browser.close();
})();

Puppeteer also provides many Chrome APIs https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md

Article Link:

https://alili.tech/en/archive/a-headless-chrome-browser-puppeteer/

# Latest Articles