Google Chromeのヘッドレスモードが新しく。別になっていた実装を統合し、ヘッドフルと完全互換に
Google Chromeの開発チームは、Google Chromeをユーザーインターフェイス画面なしで利用できるヘッドレスモードの実装が新しくなったことを明らかにしました。
Chrome’s Headless mode just got a whole lot better! We made Headless more useful for developers by bringing it closer to Chrome’s regular “headful” mode.
— Chrome Developers (@ChromiumDev) February 22, 2023
https://t.co/FhAblWvJQj pic.twitter.com/tJHV0j9fc7
ヘッドレスモードはGoogle Chromeの画面表示を行わないモードで、PuppeteerやChromeDriverといったChromeの操作を自動化できるツールを用いることで自動テストの実行などに活用できます。
このヘッドレスモードは2017年リリースされたChrome 59からオプションを設定することで利用可能になっていますが、開発チームが明らかにしたところによると、Google Chrome本体(=ヘッドフルなChrome)とヘッドレスモードのChromeは、これまで実装が分かれていたとのことです。
それによりいくつかの課題があったとのこと。ブログ「Chrome’s Headless mode gets an upgrade: introducing --headless=new」から引用します。
Because Headless was a separate implementation, it had its own bugs and features that weren’t present in headful Chrome. This created a confusing situation where any automated browser test might pass in headful mode but fail in Headless mode, or vice versa — a major pain point for automation engineers.
ヘッドレスモードのChromeは実装が分かれていたため、ヘッドフルChromeにはない独自のバグや機能がありました。このため、自動化されたブラウザテストがヘッドフルモードでは合格したのに、ヘッドレスモードでは不合格、またはその逆という混乱した状況が生まれ、自動化エンジニアにとって大きな頭痛の種となっていました。
It also excluded any automated testing that relied on having a browser extension installed, for example. The same goes for any other browser-level functionality: unless Headless had its own, separate implementation of it, it wasn’t supported.
また、例えばブラウザ拡張機能のインストールに依存する自動テストもできませんでした。それ以外のブラウザの機能についても同様で、ヘッドレスの実装が分かれている限りサポートされませんでした。
3月末リリースのChrome 112からヘッドレスモードの実装が統合
そして3月末にリリース予定のChrome 112からこの状況が改善されます。ヘッドレスモードの実装はヘッドフルなChromeの実装と統合され、新しいヘッドレスモードになることが明らかになりました。
これによりヘッドフルなChromeの既存の機能はもちろん、今後新しく追加される機能においても制限なくまったく同様にヘッドレスモードから利用できるようになります。
新しいヘッドレスモードを利用する場合には以下のように、「=new」を付けます。
chrome --headless=new
また、新しいヘッドレスモードではターゲットとなるWebページを指定し、レンダリング結果をPDFファイルとして出力機能をはじめ、いくつかの便利なオプションが追加されています。詳しくは「Chrome’s Headless mode gets an upgrade: introducing --headless=new」をご参照ください。
あわせて読みたい
Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開
≪前の記事
インテル、Intel ArcやNVIDIA、AMDのGPUに対応した最新コンパイラ技術を含む開発ツールキット「oneAPI ツールキット 2023」リリース[PR]