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);
  ...
})();

起動オプションについては次のページを参照