All'inizio di quest'anno abbiamo annunciato la disponibilità della nuova modalità headless di Chrome (--headless=new
) nella versione 112 di Chrome. Questa modalità consente agli sviluppatori di eseguire Chrome in un ambiente inattivo senza UI visibile, utile per casi d'uso di test e automazione.
Nell'ambito di questo annuncio, abbiamo accennato ai nostri piani di rimozione della vecchia modalità headless dal programma binario di Chrome. Questa rimozione è sensata, in quanto il vecchio Headless è tecnicamente un browser separato, il che significa che attualmente stiamo vendendo due file binari del browser in uno. Allo stesso tempo, sappiamo che esistono casi d'uso distinti per la vecchia e la nuova modalità headless:
- La vecchia modalità headless è un wrapper leggero che nasconde il modulo
//content
di Chromium e, di conseguenza, ha molte meno dipendenze. Nello specifico, non richiede X11/Wayland, D-Bus ed è in qualche modo più performante del browser Chrome completo. Per questo è adatto a casi d'uso come l'acquisizione automatica di screenshot o lo scraping web. - Il nuovo headless, invece, è il vero browser Chrome ed è quindi più autentico, affidabile e offre più funzionalità. Questo lo rende più adatto per i test end-to-end di app web o i test delle estensioni del browser ad alta precisione.
In altre parole, occorre trovare un compromesso tra prestazioni e autenticità. Qual è la modalità headless più adatta a te? Dipende dal caso d'uso specifico.
Gli sviluppatori e i tester che non hanno bisogno della funzionalità completa di Chrome per i casi d'uso dell'automazione potrebbero voler utilizzare la versione precedente di Headless. In caso contrario, il nuovo headless è probabilmente la scelta migliore.
Per garantire che sviluppatori e tester continuino ad avere la possibilità di scegliere tra queste due opzioni, siamo lieti di annunciare che la vecchia implementazione Headless è ora disponibile come programma binario indipendente di chrome-headless-shell
. Questi nuovi file binari di chrome-headless-shell
vengono generati per ogni release di Chrome rivolta agli utenti e possono essere scaricati tramite l'infrastruttura Chrome for Testing a partire da Chrome 120.
Come faccio a ottenere i file binari di chrome-headless-shell
?
Come con altri programmi binari di Chrome for Testing, il modo più semplice per scaricare chrome-headless-shell
per la tua piattaforma è utilizzare la nostra utilità a riga di comando @puppeteer/browsers
, disponibile utilizzando npm
. Ecco alcuni esempi:
# 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
Se preferisci creare i tuoi script automatici per scaricare file binari di chrome-headless-shell
, abbiamo quello che fa per te. Chrome for Testing offre endpoint API JSON con le ultime versioni disponibili per ogni canale di rilascio di Chrome (stabile, beta, Dev e Canary). Per una rapida panoramica sullo stato più recente, consulta la dashboard della disponibilità di Chrome for Testing.
Feedback
Non vediamo l'ora di ricevere il tuo feedback su chrome-headless-shell
. Se riscontri problemi, segnalali.