Headless Chrome Cpture Sample
{
"name": "headless-chrome",
"version": "0.0.0",
"bin": "./app.js",
"dependencies": {
"cron": "^1.3.0",
"puppeteer": "^0.13.0"
}
}
#!/usr/bin/env node
const CronJob = require('cron').CronJob;
const puppeteer = require('puppeteer');
puppeteer.launch(/*{
headless: false, // フルバージョンのChromeを使用
slowMo: 300 // 何が起こっているかを分かりやすくするため遅延
}*/).then(async browser => {
const page = await browser.newPage();
await page.setViewport({ width: 1200, height: 800 }); // view portの指定
await page.goto(process.argv[2]);
// await page.type('#lst-ib', 'VASILY, Inc');
// await page.click('.lsb');
new CronJob('00 */1 * * * *', () => {
let date = new Date();
/*await */page.screenshot({path: `${ date.getFullYear() }${ date.getMonth() - 1 }${ date.getDate() }_${ date.getHours() }:${ date.getMinutes() }:${ date.getSeconds() }.png`, fullPage: true});
}, null, true, 'Asia/Tokyo');
// let date = new Date();
// await page.screenshot({path: `${ date.getFullYear() }${ date.getMonth() - 1 }${ date.getDate() }_${ date.getHours() }:${ date.getMinutes() }:${ date.getSeconds() }.png`, fullPage: true});
// await page.plainText().then( text => console.log("############# TOP text="+text) );
// await page.waitFor(3000); // デモのための遅延
// browser.close();
});
1分おきに指定のページのキャプチャをとる
basic認証はURLにつける
npx https://gist.github.com/t4y3/8e1fc612d278c5c149c18b7ed9874c87 {URL}