puppeteerについて
Node.jsからHeadless Chromeを簡単に扱えるようにしてくれたものです。
https://github.com/puppeteer/puppeteer
フロントの自動テストだったり、SPAのスクレイピングにも使えそうです。
セットアップ
適当なディレクトリにて、以下を実行
$ yarn init -y
$ yarn add puppeteer
とりあえず使ってみた
const puppeteer = require('puppeteer');
async function getHtmlContents(page, url){
await page.goto(url); // ページへ移動
// 任意のJavaScriptを実行
return await page.$eval('html', item => {
return item.innerHTML;
});
}
!(async() => {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const html = await getHtmlContents(page, 'http://example.com');
console.log(html);
browser.close();
} catch(e) {
console.error(e);
}
})()
使ってみて
とても気軽に触れます。スクリーンショットの機能なども使えるみたいなので、色々試してみたいです。