t4y3
12/19/2017 - 1:51 AM

Headless Chrome Cpture Sample

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();
});

headless-chromeでキャプチャー

1分おきに指定のページのキャプチャをとる
basic認証はURLにつける

実行コマンド

npx https://gist.github.com/t4y3/8e1fc612d278c5c149c18b7ed9874c87 {URL}