Vai al contenuto

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 con page.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

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

Tutti i termini del glossario