Tech Blog

Node.jsでPuppeteerを使いChromeを実行して画面キャプチャを撮る

Puppeteer(https://github.com/puppeteer/puppeteer)とは、Chromeを制御するための高レベルAPIを提供するノードライブラリです。
Puppeteerを使用してChromeをヘッドレスモード(GUIのない状態)で実行し画面キャプチャを画像として保存します。
(Puppeteerはデフォルトでヘッドレスで実行されますが、ヘッドレスではないChromeを実行することもできます。)

手順1 プロジェクトの準備とライブラリのインストール

任意のディレクトリに移動しnpmプロジェクトの初期化をおこないます。

npm init -y

PuppeteerをNPMからインストールします。

npm i puppeteer

手順2 ファイルの作成

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  await page.goto('https://www.yahoo.co.jp');
  await page.screenshot({ path: 'screenshot.png'});

  await browser.close();

})();

手順3 ファイルの実行

node index.js

結果

これでプロジェクトフォルダ配下にhttps://www.yahoo.co.jpをchromeで表示した際の画面キャプチャがscreenshot.pngというファイル名で保存されます。