TAMINIF’s blog

京都在住のWebエンジニア。iOSアプリもやってます。勉強会にも参加してます。最近はマネージャー色強め

puppeteerのHeadless modeの意味

TL;DR

puppeteer.launch のオプションの headless をtrueにするとChroniumのUIが立ち上がり、目視で動作が確認できる

はじめに

puppeteer.launch でbrowserオブジェクトを生成する時にオプションで headless を指定するとどうなるのか

何が起こるか

headless をtrueに設定するとスクリプトを実行した時にUIありでChroniumを実行します。Chrome59でヘッドレスモードが搭載されたのでUIなしにChroniumを動かすことができますが、UIありでも実行することが可能ということです。
これを使用することで、自分の書いたスクリプトがどう動くのか目視で確認することができます。指定した通りにボタンが押されるかや、読み込み完了がどのタイミングなのかを見て確認することができます。

実行パスに注意

同じ puppeteer.launch のオプションの executablePath でChroniumもしくはChromeのパスを指定することができる。Macの場合、Chromeをインストールしていればここに何も指定していなければ普段使うChromeが起動してUIが見れる。

まとめ

実運用する際に設定する機会は少ないですが、実装中に確認しながら作ることは多いと思うので初期は設定して開発することをお勧めします。