Puppeteer
tips:
puppeteer-core
You will then need to call puppeteer.connect( options) or puppeteer.launch( options ) with an explicit executablePath option.
executablePath option? chrome の?
chroniumのdownloadサイズを小さくする?
networkidle??
waitUntil: LoadEventで、
通信が終わったように見えるタイミングのパターン。
不要なリクエストを防ぐ
page.on('request', request => { if(cond) request.abort(); });
不要なリクエスト送信を防ぐ方法ががある。例えば、以下のコードではexample.comドメイン以外のリソースと、拡張子がpngのファイルへのリクエストを抑制できる。
すると140MB程度のChroniumがDLされる(;・∀・)
既にサーバーにはChromeがセットアップ済みのはずなのでChroniumはいらない。
cloud functionsで、package.jsonに書いてしまえば、あるということ?
試していないが、サポートされているとはいえCloud Functionsの環境はChrome/Chromiumまでインストール済の親切設計ではないと思う、たぶん。
root権限で動かすらしく--no-sandboxが必須なところがポイントかもしれない。
Cloud Buildの話もある。
このDLどうにかスキップできないかと思って公式を見たら丁寧に解説があった。
Navigation Timeout Exceeded:
[ {waitUntil: 'networkidle'}をいれたが
{waitUntil: 'networkidle2'}にしろと言われ、でもだめ。