Puppeteerの起動方法について
基本
ブラウザを起動して、新しいページを開いて指定URLにアクセスし、その後ブラウザを閉じる場合、処理は以下のようになります。
const puppeteer = require('puppeteer'); (async () => { const options = { headless: true, args: ['--no-sandbox'] }; const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://www.google.com'); // なにか処理 await browser.close(); })();
ただし、ヘッドレスでなく、実際に起動させてみると、chromeでは起動時にページ(タブ)が1つ開いています。 上記のnewPageメソッドが実行されると、新しいページ(タブ)が1つ追加されて、ページが2つになってしまいます。 起動時にあるページを利用する場合は、newPageの行を以下のように変更することが可能です。
const pages = await browser.pages(); const page = pages[0];
例
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const pages = await browser.pages(); const page = pages[0]; await page.goto('https://www.google.com'); // なにか処理 await browser.close(); })();
起動オプション
ブラウザを起動するとき、ウィンドウサイズやヘッドレスなどをオプションをlaunchメソッドで指定できます。
例
const puppeteer = require('puppeteer'); const options = { headless: true, args: [ '--no-sandbox', '--window-size=400,800', ] }; (async () => { const browser = await puppeteer.launch(options); ... })();
起動オプションについては次のページを参照