Firefoxのヘッドレスモード


こんにちは!
PhantomJSいつまで使いますか!!
ヘッドレスモード使えるようになるのはChromeだけだと思ってませんか!!!

Firefox 55, 56からヘッドレスモードが使えるようになりました

Google Chrome/Chromiumに比べて喧伝されていないためか、案外知っている人が少ない気がしますが…もうちょっと大騒ぎしてもいいんじゃないでしょうか!
Firefox 55からヘッドレスモードを利用可能にする主旨のバグトラッカーが、Bugzillaに掲載されています。
Bug 1338004 - [meta] Headless browsing mode
予定通り無事リリースされました!

どんな判断だ

発端はそもそも9年前の「Xvfbとか使わないヘッドレスモードがあるといいなあチラッチラッ」なリクエストのようです。ずいぶん長い時間がかかりましたね~
Bug 446591 - Make it possible to run Mozilla with UI "rendered" to memory

直近の動機としては、Firefoxに依存している SlimerJS の中で完全なヘッドレスモードで利用したい、というような雰囲気もありますね。

Linuxが先行、WindowsとMacも対応

WindowsとMacへの対応は、ちょっと遅れてFirefox 56で同時にリリースされました!
対応するのは次のチケットです。
Bug 1355147 - Support headless mode on MacOS
Bug 1355150 - Support headless mode on Windows

使い方

Mozillaのサイトに詳細に載っています。
https://developer.mozilla.org/ja/Firefox/Headless_mode

当初は、環境変数 MOZ_HEADLESS を1に設定した状態でFirefoxを起動していました。
簡単にやると次のような感じです。

$ MOZ_HEADLESS=1 /path/to/firefox

ただ、すぐに -headless フラグをつけるやり方が追加されました。こっちの方がやりやすいですね。

$ /path/to/firefox -headless