pixivの技術ブログで紹介されてたHeadless Chromeのコードをchromyで3分の1にしてみた

  • 5
    いいね
  • 0
    コメント

下記の記事で紹介されていたコードをchromyで書き直してみた。

Headless Chromeでデザイン変更履歴を追える魚拓を作ってみた

元コードが空行とコメント抜いて66行くらいで、chromyで書いたコードが21行。

const Chromy = require('chromy')
const util = require('util')
const fs = require('fs')

const writeFile = util.promisify(fs.writeFile)

async function main () {
  const chromy = new Chromy({waitFunctionPollingInterval: 200})
  await chromy.chain()
    .goto('https://www.pixiv.net/')
    .wait(_ => {
      const result = (window.scrollY + window.innerHeight >= window.document.body.scrollHeight)
      window.scrollTo(0, window.scrollY + window.innerHeight)
      return result
    })
    .screenshotDocument()
    .result((image) => {
      return writeFile('capture.png', image)
    })
    .end()
    .then(_ => chromy.close())
}

main()