Puppeteer
Cos'è Puppeteer, come cattura screenshot e come si confronta con Playwright per l'automazione dei browser.
Puppeteer è una libreria Node.js open source mantenuta dal team di Chrome di Google. Controlla Chrome o Chromium, e anche Firefox, tramite Chrome DevTools Protocol o WebDriver BiDi. Per impostazione predefinita funziona in modalità headless, quindi le pagine si caricano e vengono renderizzate senza una finestra visibile.
Uno script Puppeteer avvia un browser, apre pagine e lavora su di esse come farebbe un utente: naviga, fa clic, digita e attende i contenuti. La libreria è usata comunemente per screenshot, generazione di PDF, scraping, verifiche delle prestazioni e test automatici di app web basate su Chrome.
Cosa può fare Puppeteer
- Avviare Chrome, Chromium o Firefox, oppure collegarsi a un browser già in esecuzione.
- Impostare viewport, user agent, geolocalizzazione e condizioni di rete.
- Fare clic, digitare, inviare moduli e attendere selettori o l'assenza di attività di rete.
- Intercettare richieste per bloccare annunci, immagini o tracker.
- Salvare screenshot con
page.screenshot()e PDF conpage.pdf().
Puppeteer per gli screenshot
page.screenshot() salva output PNG, JPEG o WebP. L'opzione fullPage cattura l'intero documento scorrevole, clip cattura un rettangolo e un handle di elemento cattura un singolo elemento. page.setViewport() imposta larghezza, altezza e deviceScaleFactor, che decide se l'output ha risoluzione 1x o 2x.
page.pdf() è diverso da uno screenshot. Usa il layout di stampa del browser e il CSS di stampa, quindi può impaginare la pagina o nascondere elementi, mentre page.screenshot() registra lo schermo renderizzato.
Puppeteer e Playwright a confronto
Puppeteer è una libreria JavaScript incentrata su Chrome. Playwright supporta Chromium, Firefox e WebKit e offre binding per JavaScript, Python, Java e .NET, oltre a un test runner integrato. Puppeteer è adatto ai progetti Node.js che richiedono solo Chrome; Playwright è adatto ai team che hanno bisogno del motore WebKit di Safari o di un altro linguaggio.
Errori comuni
- Catturare lo screenshot subito dopo la navigazione, prima che font e immagini siano caricati.
- Aspettarsi che
page.pdf()abbia lo stesso aspetto dello schermo. - Eseguire molte istanze del browser insieme e rimanere senza memoria.
- Dimenticare di chiudere il browser, lasciando processi attivi.
Ripeti gli stessi screenshot più volte?
Temposhot Website Capture carica un elenco di URL in browser locali gestiti e salva un'immagine per URL, con area Viewport o Full page. Vedi automazione degli screenshot di siti web.
Domande frequenti
Puppeteer funziona solo con Chrome?
Chrome è il target principale. Puppeteer supporta anche Firefox tramite WebDriver BiDi.
Puppeteer può catturare screenshot retina?
Sì. Imposta deviceScaleFactor a 2 in page.setViewport() per ottenere il doppio della larghezza e dell'altezza in pixel.
Puppeteer richiede di scrivere codice?
Sì. È una libreria usata da codice JavaScript o TypeScript eseguito su Node.js.
Fonti
Risorse correlate
- Avvio rapido di Website Capture: cattura molti URL senza codice.
- Estensione Chrome: salva un unico PNG a pagina intera della scheda corrente.
- Unisci screenshot: unisce catture in un'unica immagine nel browser.
Ripeti sempre gli stessi screenshot?
Temposhot cattura a intervalli di tempo una schermata, una finestra o un'area e esporta il set come PDF, immagini, ZIP o MP4. Gli strumenti gratuiti online gestiscono le singole immagini.
Risorse correlate
Termini correlati
- PlaywrightCos'è Playwright, come cattura screenshot su più browser e come si confronta con Puppeteer per l'automazione.
- Browser headlessCos'è un browser headless, come si usa per gli screenshot automatici ed errori comuni da evitare.
- Screenshot APICos'è una screenshot API, come funziona e quando usarla per le catture programmatiche.
- Strumenti per sviluppatori del browserCosa sono gli strumenti per sviluppatori del browser, come usarli per screenshot e test responsive e le funzioni più comuni.