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
libX11-xcb.so.1: cannot open shared object file: No such file or directory
と言うようなエラーが表示される場合があります
chromiumをインストールします(Centos stream)
dnf install -y chromium
libXScrnSaverをインストールします(Centos stream)
dnf install -y chromium
その他参考 : https://github.com/puppeteer/puppeteer/issues/5361
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
const browser = await puppeteer.launch();
↓
const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });
としておきましょう。