Androidのメモとか

ポキオの日記です。今日も遅延してない。

Webページのスクショ撮影ができるNode-RED向けノードをARM対応させました

対応というか、ワークアラウンド(震)

ポキオ Node-RED Puppeteer スクリーンショット

Raspberry Piでも動くようになりました

先日作った、このノードですが。

relativelayout.hatenablog.com

ARM環境では動作しない制約がありましたが、今回のバージョンアップでARMでも動作するようになりましたー。

ポキオ Node-RED スクリーンショット puppeteer

Headlessモードが動作するChromiumのパスを設定できるようにしました。割と新しいRaspbianをお使いの方は、ただ単に/usr/bin/chromium-browserと入力すれば動作します。

executablePath (Optional) You can specify chromium/chrome executable with the path. For those who use x86 arch, this can be blank, however, if you use this node on ARM arch (e.g. Raspberry Pi), you have to install headless-mode-available chromium-browser and set the path.

Fortunately, Raspbian OS (as of ver. April 2019) includes compatible chromium-browser, so just set /usr/bin/chromium-browser to this blank.

www.npmjs.com

flows.nodered.org

詳細

qiita.com

スクリーンショットをとるために使っているPuppeteerですが、内包してるChromiumx86用で、ARM環境では使えないという問題がありました。本家Puppeteerでは、Chromiumの実行ファイルのパスを設定することができるため、別途インストールしたChromiumを指定することで、この問題は回避できるのですが、いわゆるaptとかで取得できるChromiumは、Headlessモードに対応していないバージョンだったため、ちょっとした工夫が必要でした・・・。

https://www.raspberrypi.org/downloads/raspbian/www.raspberrypi.org

ところが、最新のRaspbianでは、Headlessモードに対応したChromiumがプリインされており、armv6・armv8の両環境で動作確認ができたため、今回のアップデートを行いました。

なので、このノードを使う人も、素のPuppeteerを使う人も、Raspberry Piで使いたかったら、

  • 最新のRapsbianを使うべし
  • launch()のオプションに、executablePath : '/usr/bin/chromium-browser'を設定すべし

ということになります。

良いパペットライフを。

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。