ヘッドレスChrome puppeteer / puppeteer-core をインストールする

● puppeteerのインストールと検証

npm i puppeteer
vi test_puppeteer.js

以下の内容で保存します。

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });

  const page = await browser.newPage();
  await page.goto('https://google.co.jp/');
  await page.screenshot({path: __dirname + '/test_puppeteer.png'});
  await browser.close();
})();

実行します

node test_puppeteer.js

● puppeteer-core のインストールと検証

puppeteer と puppeteer-coreの違いは?

puppeteerをインストールした場合はGoogle Chromeのバイナリを追加でダウンロードします。
puppeteer-coreは使用しているマシンに既にインストール済みのGoogle Chromeを使用します。(Google Chromeのダウンロードは行いません)
npm i puppeteer-core
vi test02.js
const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
        executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',    
  });
  const page = await browser.newPage();
  await page.goto('https://google.co.jp/');
  await page.screenshot({path: 'test02.png'});

  await browser.close();
})();
node test02.js

● Sandboxエラーとなる場合は

  const browser = await puppeteer.launch();

  ↓

  const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });

 としておきましょう。

No.1667
11/11 10:58

edit