Skip to content

Instantly share code, notes, and snippets.

@sintret
Created December 28, 2021 05:44
Show Gist options
  • Save sintret/5eab6d188afe507d927eb66a5651f381 to your computer and use it in GitHub Desktop.
Save sintret/5eab6d188afe507d927eb66a5651f381 to your computer and use it in GitHub Desktop.
const puppeteer = require('puppeteer');
var pages = {}
var browser;
var page = async() => {
try {
if (!browser) {
browser = await puppeteer.launch({
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
]
});
}
const urls = [
{key: 'google', value: 'https://www.google.com'},
{key: 'yahoo', value: 'https://www.yahoo.com'},
{key: 'bing', value: 'https://www.bing.com'},
];
for(var i = 0; i < urls.length; i++) {
var obj = urls[i];
console.log("key " + obj.key + " has value " + obj.value);
pages[obj.key] = await browser.newPage();
await pages[obj.key].goto(obj.value, { waitUntil: 'networkidle0', timeout: 120000});
}
} catch (error) {
console.log(error);
}
};
async function screenshot(key) {
if (!pages[key]) await page();
console.log('processing to screenshot ' + key);
await pages[key].screenshot({path: 'html/img/' + key + '.png'});
}
//screenshot google
screenshot('google').then(() => console.log('screenshot google saved'));
//screenshot all
setInterval(function () {
console.log(Object.keys(pages))
screenshot('google').then(() => console.log('screenshot google saved'));
screenshot('yahoo').then(() => console.log('screenshot yahoo saved'));
screenshot('bing').then(() => console.log('screenshot bing saved'));
},5000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment