Puppeteer

Installing

dnf install npm

npm i puppeteer

or

npm i puppeteer-core

you may need to downgrade:

npm install puppeteer@18.1.0

Simple screenshot

'use strict';

const puppeteer = require('puppeteer');

(async() => {

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

await browser.close();

})();

Full page Screenshot

const puppeteer = require('puppeteer');

async function run() {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('https://www.theguardian.co.uk');
  await page.screenshot({ path: 'theguardian.png', fullPage: true });

  browser.close();
}

run();

Emulate iphone 6

Device info

Known Devices

List of UserAgents

https://pptr.dev/next/api/puppeteer.knowndevices

'use strict';

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.emulate(puppeteer.devices['iPhone 6']);

    await page.goto('https://www.nytimes.com/');
  await page.screenshot({path: 'nytimes-iphone6.png', fullPage: true});
  await browser.close();
})();

Viewport

'use strict';

const puppeteer = require('puppeteer');

(async() => {

const browser = await puppeteer.launch({defaultViewport: null});
const page = await browser.newPage();
await page.setViewport({
    width: 1920,
    height: 1080
})
await page.goto('https://www.theguardian.co.uk');
await page.screenshot({path: 'guardian-1920-1080-example.png'});

await browser.close();

})();

more

Gotchas

Can't run? Get error? E.g messages like Cannot find module 'puppeteer-core/internal/puppeteer-core.js'?

Downgrade:

npm install puppeteer@18.1.0

more