Anfang des Jahres haben wir die Verfügbarkeit des neuen Headless-Modus (--headless=new
) von Chrome in Chrome 112 angekündigt. In diesem Modus können Entwickler Chrome in einer unbeaufsichtigten Umgebung ohne sichtbare Benutzeroberfläche ausführen. Das ist nützlich für Tests und Automatisierungsfälle.
In dieser Ankündigung haben wir auch erwähnt, dass wir den alten headless-Modus aus der Chrome-Binärdatei entfernen möchten. Diese Entfernung ist sinnvoll, da die alte Headless-Version technisch ein separater Browser ist. Das bedeutet, dass wir derzeit zwei Browser-Binärdateien in einer ausliefern. Wir sind uns aber auch bewusst, dass es unterschiedliche Anwendungsfälle für den alten und den neuen headless-Modus gibt:
- Der alte Headless-Modus ist ein schlanker Wrapper um das
//content
-Modul von Chromium und hat daher wesentlich weniger Abhängigkeiten. Insbesondere sind X11/Wayland und D-Bus nicht erforderlich. Außerdem ist er in gewisser Weise leistungsfähiger als der vollwertige Chrome-Browser. Das macht sie für Anwendungsfälle wie automatisierte Screenshots oder Web-Scraping geeignet. - Der neue Headless-Modus ist dagegen der echte Chrome-Browser. Er ist daher authentischer, zuverlässiger und bietet mehr Funktionen. Dadurch eignet sie sich besser für präzise End-to-End-Tests von Webanwendungen oder Browsererweiterungen.
Mit anderen Worten: Es gibt einen Kompromiss zwischen Leistung und Authentizität. Welcher Headless-Modus passt am besten zu Ihnen? Das hängt von Ihrem Anwendungsfall ab.
Entwickler und Tester, die für ihre Automatisierungsanwendung nicht die volle Chrome-Funktionalität benötigen, können die alte headless-Version verwenden. Andernfalls ist „new Headless“ wahrscheinlich die beste Wahl.
Damit Entwickler und Tester weiterhin zwischen diesen beiden Optionen wählen können, ist die alte Headless-Implementierung jetzt als eigenständige chrome-headless-shell
-Binärdatei verfügbar. Diese neuen chrome-headless-shell
-Binärdateien werden für jede für Nutzer verfügbare Chrome-Version generiert und ab Chrome 120 über die Chrome for Testing-Infrastruktur zum Download angeboten.
Wie erhalte ich chrome-headless-shell
-Binärdateien?
Wie bei anderen Chrome for Testing-Binärprogrammen können Sie chrome-headless-shell
für Ihre Plattform am einfachsten mit unserem @puppeteer/browsers
-Befehlszeilen-Dienstprogramm herunterladen, das über npm
verfügbar ist. Hier einige Beispiele:
# 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
Wenn Sie lieber eigene automatisierte Scripts zum Herunterladen von chrome-headless-shell
-Binärdateien erstellen möchten, können Sie das auch tun. Chrome for Testing bietet JSON API-Endpunkte mit den neuesten verfügbaren Versionen für die einzelnen Chrome-Release-Versionen (stabil, Beta, Entwickler und Canary). Einen schnellen Überblick über den aktuellen Status erhalten Sie im Dashboard zur Verfügbarkeit von Chrome for Testing.
Feedback
Wir freuen uns auf dein Feedback zu chrome-headless-shell
. Wenn Probleme auftreten, melden Sie sie bitte.