今年初,我們宣布 Chrome 112 推出 Chrome 新的無頭模式 (--headless=new
)。這個模式可讓開發人員在無人值守的環境中執行 Chrome,且不顯示任何 UI,非常適合用於測試和自動化用途。
在本公告中,我們提到了從 Chrome 二進位檔中移除舊版無頭模式的計畫。這項移除作業是合理的,因為舊版無頭瀏覽器在技術上是獨立的瀏覽器,也就是說,我們目前會在一個瀏覽器中提供兩個二進位檔。同時,我們也瞭解舊版和新版無頭模式的用途有所不同:
- 舊版無頭模式是 Chromium 的
//content
模組周圍的輕量包裝函式,因此依附元件大幅減少。具體來說,這項功能不需要 X11/Wayland、D-Bus,而且在某些方面比完整的 Chrome 瀏覽器更有效率。因此非常適合用於自動擷取螢幕畫面或網頁抓取等用途。 - 另一方面,新版無頭瀏覽器是真正的 Chrome 瀏覽器,因此更可靠、更可靠,且提供更多功能。因此,這項工具更適合用於高精確度的端對端網路應用程式測試或瀏覽器擴充功能測試。
換句話說,效能和真實性之間存在取捨關係。哪種無頭模式最適合你?這取決於您的用途。
如果開發人員和測試人員不需要在自動化用途中使用完整的 Chrome 功能,建議使用舊版無頭模式。否則,新無頭模式可能是最佳選擇。
為確保開發人員和測試人員能繼續選擇這兩種做法,我們很高興宣布,舊版無頭式實作項目現已可做為獨立的 chrome-headless-shell
二進位檔使用。這些新的 chrome-headless-shell
二進位檔會為每個面向使用者的 Chrome 版本產生,並可透過 Chrome for Testing 基礎架構下載,從 Chrome 120 開始。
如何取得 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 測試版可用性資訊主頁。
意見回饋
期待收到您對 chrome-headless-shell
的意見回饋。如果遇到任何問題,請回報。