Skip to content

Instantly share code, notes, and snippets.

@a0viedo
Created August 1, 2018 15:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a0viedo/5632af5b3b58b22c6eda889c2da0760b to your computer and use it in GitHub Desktop.
Save a0viedo/5632af5b3b58b22c6eda889c2da0760b to your computer and use it in GitHub Desktop.
'use strict';
const puppeteer = require('puppeteer');
function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function once(emitter, event) {
return new Promise(resolve => emitter.once(event, resolve));
}
(async() => {
try {
const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
const page = await browser.newPage();
await page.goto('https://output.jsbin.com/folacafoho', {
waitLoad: true
});
const buttonSelector = '#btn';
await page.click(buttonSelector);
const frame = await once(page, 'framenavigated');
await frame.waitForSelector('body > img');
const fileName = `${Date.now()}.png`;
await page.screenshot({path: fileName});
console.log(fileName);
await page.close();
await browser.close();
} catch(err) {
process.stderr.write(`There was an error taking the screenshot: ${err.message}`);
process.stderr.write(err.stack);
process.exit(1);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment