今年稍早,我們曾宣布在 Chrome 112 中推出 Chrome 全新的無頭模式 (--headless=new
)。此模式可讓開發人員在沒有可見使用者介面的情況下,在閒置環境中執行 Chrome,這項功能十分適合用於測試和自動化作業。
在這項公告中,我們曾提到我們即將從 Chrome 二進位檔中移除舊的無頭模式。這種移除方式很合理,因為舊版的無頭遊戲在技術上是獨立的瀏覽器,這表示我們目前會將兩個瀏覽器二進位檔合而為一。同時,我們也瞭解新舊模式和新版無頭模式模式的用途不同:
- 舊版無頭模式是 Chromium
//content
模組的輕量包裝函式,因此可減少的依附元件數量大幅減少。具體來說,此架構並不需要 X11/Wayland 和 D-Bus,而且效能比功能完整的 Chrome 瀏覽器更具效能。因此適合用於自動擷取螢幕截圖或網路抓取等用途。 - 另一方面,全新的無頭式設計就是真正的 Chrome 瀏覽器,因此更加可靠、穩定,且提供更多功能。因此更適合用於高精確度的端對端網頁應用程式測試或瀏覽器擴充功能測試。
換句話說,在效能與真實性之間取得取捨。哪種無頭模式最適合你?這取決於您的用途。
如果開發人員和測試人員不需要完整的 Chrome 功能來實現自動化用途,建議使用舊版無頭介面。否則,新的無頭遊戲可能會是最佳選擇。
為確保開發人員和測試人員能繼續在這兩個選項之間切換,我們很高興在此宣布,舊版無頭實作現已以獨立 chrome-headless-shell
二進位檔的形式提供。系統會為每個面向使用者的 Chrome 版本產生這些新的 chrome-headless-shell
二進位檔,並從 Chrome 120 以上版本透過 Chrome for Testing 基礎架構下載這些二進位檔。
如何取得 chrome-headless-shell
二進位檔?
和其他 Chrome for Testing 二進位檔一樣,如要下載平台的 chrome-headless-shell
,最簡單的方法就是使用我們的 @puppeteer/browsers
指令列公用程式,方法為 npm
。例如:
# Download the latest available `chrome-headless-shell` binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome-headless-shell@stable
# Download a specific `chrome-headless-shell` version.
npx @puppeteer/browsers install chrome-headless-shell@120.0.6098.0
如要自行建構自動下載 chrome-headless-shell
二進位檔的指令碼,也沒問題。Chrome for Testing 提供 JSON API 端點,適用於各種 Chrome 發布版本 (穩定版、Beta 版、開發人員版和 Canary 版)。如要快速掌握最新狀態,請參閱 Chrome for Testing 可用性資訊主頁。
意見回饋:
期待收到您針對「chrome-headless-shell
」的意見。如果您遇到任何問題,請向我們回報。