Termine del glossario
Playwright
Playwright è un framework open source di Microsoft che controlla i browser Chromium, Firefox e WebKit per eseguire test, acquisire screenshot e automatizzare il Web con i principali motori di rendering.
Che cosa può fare Playwright
Playwright offre un'unica API per automatizzare i tre principali motori di rendering: Chromium, usato da Chrome ed Edge; Gecko, usato da Firefox; WebKit, usato da Safari. Il supporto multipiattaforma è la sua caratteristica principale: lo stesso script può essere eseguito sui tre motori senza modifiche.
Le funzioni principali comprendono:
- Automazione su più browser — scrivi uno script ed eseguilo su Chromium, Firefox e WebKit. La CLI di Playwright installa e gestisce i file binari necessari.
- Acquisizione di screenshot — salva le pagine in PNG o JPEG, acquisisce l'intera pagina o un elemento preciso e permette di impostare viewport ed emulazione del dispositivo.
- Creazione di PDF — esporta le pagine renderizzate in PDF, con controllo su dimensioni, margini e scala.
- Intercettazione della rete — monitora, simula o modifica le richieste di rete per test e raccolta dati.
- Contesti del browser — crea sessioni isolate, simili a finestre in incognito, che non condividono cookie, spazio di archiviazione o stato. Sono utili per acquisire pagine come tipi di utente diversi senza riavviare il browser.
- Supporto per più linguaggi — dispone di integrazioni ufficiali per JavaScript/TypeScript, Python, Java e .NET.
Il meccanismo di attesa automatica è particolarmente utile. A differenza delle librerie che richiedono attese esplicite, Playwright aspetta che gli elementi siano collegati al DOM, visibili e stabili prima di interagire. Gli script risultano più affidabili e diminuiscono i test che falliscono in modo intermittente.
Playwright per gli screenshot
Il metodo page.screenshot() permette di controllare con precisione il risultato. Puoi acquisire il viewport visibile, l'intera pagina scorrevole o uno specifico elemento DOM passando un locator.
L'emulazione permette di simulare dispositivi precisi, impostando viewport, fattore di scala e user agent con una sola chiamata. Il registro integrato include configurazioni per telefoni e tablet diffusi, così è semplice acquisire l'aspetto di una pagina su iPhone, Pixel o iPad.
Per le pagine con contenuti caricati in modo differito, lo scorrimento e le condizioni di attesa aiutano a caricare immagini ed elementi dinamici prima dell'acquisizione. Puoi anche inserire CSS per nascondere banner dei cookie, rimuovere widget di chat o modificare lo stile prima dello screenshot.
Il supporto a WebKit permette di rilevare differenze di rendering che un test limitato a Chromium non mostrerebbe. Il build WebKit modificato non è Safari e alcuni dettagli del sistema operativo, come i codec multimediali, possono cambiare. Esegui WebKit su macOS quando serve il confronto disponibile più vicino a Safari.
In un flusso vicino all'uso di Shotomatic, Playwright è utile quando la stessa pagina deve essere acquisita più volte su browser, percorsi o stati di autenticazione diversi. Trasforma la produzione degli screenshot in una procedura esplicita anziché in una sessione manuale, per questo ricorre spesso nel monitoraggio e nel controllo qualità.
Playwright e Puppeteer a confronto
Entrambe le librerie sono valide per automatizzare browser headless, ma hanno obiettivi e approcci diversi.
Browser supportati — Playwright gestisce Chromium, Firefox e WebKit con una sola API. Le versioni attuali di Puppeteer supportano Chrome for Testing e Firefox stabile, ma non WebKit. Scegli Playwright quando devi includere anche WebKit.
Attesa automatica — Playwright aspetta che gli elementi siano pronti prima di interagire. Con Puppeteer servono più chiamate esplicite, come waitForSelector e waitForNetworkIdle, quindi aumenta il codice e possono comparire più problemi di temporizzazione.
Contesti del browser — i contesti di Playwright permettono di creare più sessioni isolate in una sola istanza del browser, riducendo l'uso delle risorse. Puppeteer offre contesti in incognito, ma la relativa API è meno sviluppata.
Maturità dell'API — Puppeteer è disponibile dal 2017 e dispone di un ecosistema più ampio di risorse della comunità. Playwright è stato lanciato nel 2020, cresce rapidamente, viene aggiornato più spesso e copre più funzioni.
Per i flussi incentrati sugli screenshot, la scelta dipende spesso dai browser richiesti. Entrambi gestiscono acquisizioni in Chrome e Firefox; per includere anche WebKit serve Playwright.
Errori comuni
- Non installare i file binari dei browser. Dopo il pacchetto Playwright, devi eseguire il comando di installazione che scarica i browser. Senza questo passaggio, lo script termina con un errore "browser not found".
- Ignorare i limiti dell'attesa automatica. L'attesa automatica riduce gli errori intermittenti, ma ha un timeout predefinito. Se una pagina è lenta, l'azione può scadere prima che il contenuto sia pronto. Aumenta il timeout per le pagine più pesanti.
- Acquisire prima che i contenuti differiti siano caricati. L'attesa automatica non fa scorrere da sola l'intera pagina. Prima di uno screenshot a pagina intera, aggiungi un passaggio di scorrimento per caricare i contenuti differiti.
- Usare il browser sbagliato. Eseguire tutte le acquisizioni su Chromium è più rapido, ma non mostra le differenze di rendering in Firefox e WebKit. Usa più browser quando il risultato visivo deve corrispondere a ciò che vedono utenti diversi.
- Non chiudere i contesti. Se restano aperti dopo l'acquisizione, i contesti consumano memoria negli script di lunga durata. Al termine chiudi sempre i contesti e le istanze del browser.
Domande frequenti
Playwright è gratuito?
Sì. Playwright è open source con licenza Apache 2.0 ed è gestito da Microsoft. Puoi installarlo gratuitamente tramite npm, pip o NuGet.
Quali browser supporta Playwright?
Playwright supporta i propri build di Chromium, Firefox e WebKit. Può anche eseguire i canali installati di Google Chrome e Microsoft Edge. La CLI di Playwright installa e gestisce i file binari compatibili.
Playwright può acquisire screenshot in Safari?
Playwright esegue un build modificato di WebKit, non il browser Safari di Apple. WebKit può funzionare anche su Linux e Windows, ma Playwright consiglia macOS quando serve il risultato più vicino a Safari per i comportamenti legati alla piattaforma.
Quali linguaggi di programmazione supporta Playwright?
Playwright offre librerie ufficiali per JavaScript/TypeScript (Node.js), Python, Java e .NET. La versione JavaScript è la più usata e, in genere, riceve per prima le nuove funzioni.
Come gestisce i contenuti dinamici Playwright?
Playwright integra l'attesa automatica: prima di interagire con un elemento aspetta che sia visibile, stabile e utilizzabile. Questo riduce gli script inaffidabili e facilita l'acquisizione di pagine con animazioni o contenuti caricati in modo differito.
Fonti
- Screenshot — Playwright
- Browser — Playwright
Risorse correlate
Acquisizione di siti web
Automazione degli screenshot di siti web con Shotomatic
Cattura automaticamente screenshot di siti web su Mac da liste di URL, con opzioni desktop, tablet, mobile, viewport e pagina intera.
Blog
I migliori strumenti per automatizzare gli screenshot sul Mac (2026)
Confronta Shotomatic, Snagit e CleanShot X per acquisizioni a intervalli, guide basate sui clic, siti in serie, PDF ricercabili e screenshot manuali.