Puppeteerを使って簡単に自動でサイトのスクリーンショットを保存してみる
PuppeteerはブラウザのChromeをプログラムから動かすことができるNode.jsのライブラリです。
今回はPuppeteerを使って、Googleのトップ画面のスクリーンショットを保存してみます。
インストール
以下のコマンドを実行して puppeteer-coreをインストールします。
npm install pupeteer
※試した時のnodeのバージョンはv14.16.0でした
package.jsonの編集
type: module と、 start を追加をします。
{
"name": "puppeteer-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"start": "node src/index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"puppeteer": "^8.0.0",
"puppeteer-core": "^8.0.0"
}
}
ソースコードを書く
src ディレクトリを作成して、その下にindex.jsを作ります。
index.jsの内容は以下です。
import puppeteer from "puppeteer";
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com/');
await page.screenshot({ path: `screenshot/google_${new Date().getTime()}.png` });
await browser.close();
})();
スクリーンショットを配置するディレクトリを作る
今回はGoogleのトップ画面をスクリーンショットとして保存しますので、保存先のディレクトリのscreenshotをあらかじめ作成します。
実行する
以下のコマンドを実行します。
npm start
screenshotディレクトリの下にpngファイルができていればOKです。
最近のコメント