WSL2上のLinuxでpuppeteerを使ってみる

Puppeteerのインストール

Puppeteerサイトの案内通りにインストールします。

npm i puppeteer

しかし、node_modules/puppeteer/.local-chromium/の奥にインストールされているchromeがうまく起動せず以下のライブラリを追加インストールしました。括弧の中がパッケージ名です。まだうまくいかないときは、環境変数PUPPETEER_EXECUTABLE_PATHを設定してみましょう。

libatk-bridge-2.0.so.0(libatk-bridge2.0-0)、libatk-1.0.so.0(libatk1.0-0)、libcups.so.2(libcups2)、libxkbcommon.so.0(libxkbcommon0)、libgbm.so.1(libgbm1)、libpango-1.0.so.0(libpango1.0-0)、libcairo.so.2( libcairo2)。

これでnode example.jsがエラーなしで終わり、スクリーンショットが取れました。

// example.js

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();

しかし、日本語ページのスクリーンショットをとると文字化けしていることがわかります。そこで日本語フォントをインストールし、文字化けを直します。

wget https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip
unzip IPAexfont00401.zip -d ~/.fonts/

Linux,Puppeteer,WSL2

Posted by deanza329