我們今年稍早曾宣布 Chrome 新的無頭模式 (--headless=new
) 在 Chrome 112 中開放使用。這個模式可讓開發人員在沒有可見 UI 的情況下,在無人管理的環境中執行 Chrome,非常適合用於測試和自動化用途。
在此公告中,我們提過將舊的無頭模式從 Chrome 二進位檔中移除。由於舊的 Headless 技術是獨立的瀏覽器,因此這項移除作業相當合理。也就是說,我們目前將兩個瀏覽器二進位檔傳入同一個瀏覽器。同時,我們也瞭解新舊模式各有不同的用途:
- 舊的無頭模式是 Chromium
//content
模組的輕量包裝函式,因此其依附元件較少。具體來說,這款電腦不需要 X11/Wayland 和 D-Bus,且在部分方面表現更勝過全面的 Chrome 瀏覽器。因此相當適合用於自動螢幕截圖或網路抓取等用途。 - 另一方面,「New Headless」是真正的 Chrome 瀏覽器,因此更加真實可靠,並提供更多功能。因此更適合用於高精確度的端對端網頁應用程式測試或瀏覽器擴充功能測試。
換言之,必須兼顧效能與真實性。哪一種無頭模式最適合你?這取決於您的用途。
開發人員和測試人員如果不需要執行完整 Chrome 功能,就能執行自動化作業,建議使用舊版 Headless。如果不是的話,全新「無頭」可能是最佳選擇。
為了確保開發人員和測試人員能繼續在這兩種選項之間做出選擇,我們很高興在此宣布,舊的無頭實作版本現已推出為獨立的 chrome-headless-shell
二進位檔。每個面向使用者的 Chrome 版本都會產生這些新的 chrome-headless-shell
二進位檔,並從 Chrome 120 開始透過 Chrome for Testing 基礎架構下載。
如何取得 chrome-headless-shell
二進位檔?
如要為平台下載 chrome-headless-shell
,最簡單的方式就是使用 npm
提供的@puppeteer/browsers
指令列公用程式,就像使用其他 Chrome for Testing 二進位檔下載一樣。例如:
# 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
」的寶貴意見。如果您遇到任何問題,請回報問題。