Headless Chrome viene definito "Chrome without chrome". Se state leggendo questo post sapete sicuramente cos'è un browser Web, ma ora ipotizzate di poter rimuovere la UI di un'applicazione per la navigazione Web, quello che rimarrà sarà appunto un headless browser. Tecnicamente un headless browser può eseguire qualsiasi operazione supportata da un comune browser, ma la mancanza di un'interfaccia utente lo rende una soluzione più stabile, veloce e affidabile.

Nello stesso modo Headless Chrome supporta tutte le feature messe a disposizione da Chromium, il progetto alla base di Chrome, e dal rendering engine Blink, ma prevede l'interazione tramite linea di comando. Tale caratteristica lo rende particolarmente indicato per operazioni che prevedono l'automazione dei processi e i test programmatici delle pagine Web, con Headless Chrome si potranno testare per esempio delle Web application, generare dei file PDF o ispezionare le modalità con le quali un browser gestisce il rendering delle URL.

HeadlessChrome

Siamo quindi di fronte ad uno strumento appositamente dedicato agli sviluppatori, o per meglio dire ad una modalità di esecuzione che renderà più semplici e rapide procedure come il recupero di informazioni riguardanti una pagina (user agent, eventuale manifest di una Web App, meta tag..), il debugging, la cattura di screenshot per registrare gli stati correnti o la stampa del DOM (Document Object Model).

L'utilizzo programmatico delle funzionalità di Headless Chrome sarà possibile attraverso alcuni package Node come per esempio Lighthouse, un automated tool disponibile anche come estensione di Chrome e concepito per il miglioramento di pagine Web in termini di performance e accessibilità, o chrome-remote-interface, un modulo Node che fornisce API per il protocollo DevTools.

Ad oggi l'headless mode è disponibile soltanto su Mac e Linux in Chrome 59, ma presto dovrebbe essere supportato anche sui sistemi Windows.

Via Eric Bidelman

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *