Come fare screenshot ripetuti con Automator su Mac
Crea un workflow di Automator con Take Screenshot e Loop, poi usa un'azione shell quando ti servono file in ordine.
13 min di letturaProduttivitàDi Temposhot Team
Automator è incluso in macOS e può fare una serie di screenshot senza software aggiuntivo. Un workflow di due o tre azioni cattura lo schermo, attende e ripete. Questo articolo costruisce il workflow in due modi, lo salva come app ed elenca i casi in cui uno strumento di cattura dedicato richiede meno lavoro.
Verifica l'accesso alla registrazione dello schermo di Automator
macOS tratta la cattura dello schermo come un permesso protetto. La prima volta che un workflow cattura lo schermo, macOS chiede se Automator può registrare lo schermo. Se rifiuti o il prompt non compare, i file salvati mostrano solo lo sfondo e la barra dei menu.
Apri System Settings, poi Privacy e sicurezza, e trova l'elenco per la registrazione dello schermo. L'etichetta esatta cambia tra le versioni di macOS. Attiva Automator in quell'elenco, chiudi Automator e riaprilo.
Un workflow salvato come app è una voce separata in quell'elenco. L'app richiede un proprio permesso alla prima esecuzione, anche quando Automator ha già l'accesso.
Perché compare il risultato con solo lo sfondo
Senza accesso alla registrazione dello schermo, macOS completa comunque la cattura, ma restituisce solo i contenuti che il processo può vedere: l'immagine del desktop e la barra dei menu. Non compare nessun errore. Per questo il primo test va aperto e ispezionato, non solo contato. Un file di qualche centinaio di kilobyte quando ti aspettavi diversi megabyte è un segnale rapido che mancano le finestre delle app.
Spostare o rinominare l'app salvata
macOS collega la voce dei permessi all'app. Se ricostruisci il workflow, lo salvi di nuovo con un altro nome o lo sposti in un'altra cartella, il sistema può trattarla come una nuova app e chiedere di nuovo il permesso, oppure negarlo senza avvisi finché non rimuovi la voce vecchia e aggiungi quella nuova. Scegli il nome e la posizione definitivi prima della prima esecuzione reale.
Scegli le azioni native o un'azione shell
Automator offre due strade per lo stesso risultato:
- Azioni native. L'azione "Take Screenshot" più l'azione "Loop". Non richiede codice, ma il controllo sui nomi dei file e sull'area di cattura è limitato.
- Un'azione shell. L'azione "Run Shell Script" chiama il comando
screencapture. Richiede qualche riga di shell, ma controlli esattamente nomi dei file, area e formato.
Inizia con le azioni native per un test rapido. Passa all'azione shell quando i file si sovrascrivono a vicenda o quando ti serve un'area fissa.
Prova prima il comando nel Terminale
Prima di incollare una riga di shell in Automator, eseguila una volta nel Terminale. screencapture -x ~/Desktop/test.png deve creare un file sul Desktop senza suono. Se produce un'immagine con solo lo sfondo, il Terminale non ha l'accesso alla registrazione dello schermo, che è una voce di permesso separata da quella di Automator. Quando il comando funziona nel Terminale, i problemi rimanenti dentro Automator riguardano i permessi di Automator stesso o i percorsi, e si isolano più in fretta.
Opzione 1: usa Take Screenshot e Loop
Crea un workflow
Apri Automator dalla cartella Applicazioni e crea un nuovo documento Workflow.
Aggiungi Take Screenshot
Cerca "screenshot" nella libreria e trascina Take Screenshot nel workflow. Scegli la cattura a schermo intero e una destinazione in una cartella usata solo per questo job. Le opzioni disponibili cambiano in base alla versione di macOS.
Aggiungi una pausa
Aggiungi l'azione Pause e imposta l'attesa, per esempio 3 secondi.
Aggiungi il loop
Aggiungi Loop alla fine. Scegli di ripetere automaticamente e di fermarti dopo un numero di volte, per esempio 10, oppure dopo un certo numero di minuti.
Esegui un test breve
Imposta il numero a 3, seleziona Run e apri la cartella.
Controlla i nomi dei file dopo il test. Se l'azione scrive lo stesso nome a ogni passaggio, ogni cattura sostituisce la precedente e ti ritrovi con un solo file. Aggiungere un'azione di rinomina del Finder che accoda data e ora aiuta, ma un numero progressivo è più facile da ordinare. L'opzione 2 risolve il problema in modo diretto.
Quanto dura davvero un loop
L'azione Pause copre solo una parte del ciclo. Ogni passaggio impiega anche tempo a scrivere l'immagine, e su un display 5K un PNG a schermo intero può richiedere una frazione di secondo non trascurabile. Per 10 loop con una pausa di 3 secondi, le sole attese sono 30 secondi, e l'esecuzione reale è un po' più lunga. Per job sensibili ai tempi, come un fotogramma per ogni cambio pagina, misura un'esecuzione con un cronometro e regola la pausa invece di fidarti del valore nominale.
Nomi progressivi con Rename Finder Items
Se preferisci restare sulle azioni native, l'azione Rename Finder Items ha una modalità che rende progressivi i nomi. Lavora sui file che riceve in ingresso, quindi il workflow deve passarle ogni volta lo screenshot nuovo. In pratica questo diventa complicato dentro un loop. Un percorso più pulito è eseguire il loop nativo in una cartella vuota con nomi basati su data e ora, poi lanciare un secondo workflow, usato una sola volta, che rinomina in sequenza tutti i file della cartella in ordine di nome.
Opzione 2: combina Run Shell Script con il Loop di Automator
Sostituisci Take Screenshot con Run Shell Script e mantieni le azioni Pause e Loop. Incolla questo nell'azione, con la shell impostata su zsh:
dir=~/Captures/automator
mkdir -p "$dir"
n=$(ls "$dir" | wc -l | tr -d ' ')
screencapture -x -t png "$dir/frame-$(printf %04d $((n + 1))).png"
Ogni passaggio conta i file già presenti nella cartella e scrive il numero successivo, così i fotogrammi si ordinano nell'ordine di cattura: frame-0001.png, frame-0002.png e così via. Il flag -x disattiva il suono dell'otturatore. Aggiungi -R 0,0,1440,900 prima del nome del file per catturare un'area fissa invece dell'intero schermo.
Svuota la cartella, oppure cambia dir, prima di ogni nuovo job. Altrimenti la numerazione continua dall'ultima esecuzione.
Coordinate per un'area fissa
I valori dopo -R sono x, y, larghezza e altezza in punti, misurati dall'angolo in alto a sinistra del display principale. Su un display Retina l'immagine salvata ha il doppio dei pixel in ogni direzione, quindi -R 0,0,1440,900 produce un'immagine di 2880 × 1800 pixel. Per trovare i numeri, premi Shift+Command+4: il mirino mostra accanto le coordinate del puntatore. Annota l'angolo in alto a sinistra e quello in basso a destra dell'area, premi Escape per annullare, poi sottrai per ottenere larghezza e altezza. Scrivi i quattro numeri e tieni la finestra di destinazione nella stessa posizione per ogni esecuzione.
Aggiungi un cambio pagina tra i fotogrammi
Per catturare una sequenza di slide o pagine, il workflow deve premere un tasto dopo ogni fotogramma. Aggiungi un'azione Run AppleScript dopo l'azione shell:
on run {input, parameters}
tell application "System Events" to key code 124
return input
end run
Key code 124 è la freccia destra. Il tasto va all'app in primo piano, quindi porta in primo piano l'app di destinazione prima di avviare e non toccare il Mac durante l'esecuzione. L'app salvata richiede il permesso di Accessibilità perché System Events possa inviare i tasti.
Un job di un fotogramma al minuto
Per un job lento, come guardare una dashboard durante un deploy di 2 ore, imposta Pause a 60 secondi e imposta Loop in modo che si fermi dopo 120 minuti. Il loop controlla il limite di tempo tra un passaggio e l'altro, quindi l'esecuzione termina al primo passaggio dopo il limite e produce circa 120 fotogrammi. Ogni fotogramma è un'immagine a schermo intero, quindi controlla prima lo spazio libero su disco. L'esecuzione occupa la finestra di Automator o l'app salvata per tutto il tempo. Fermarla in anticipo termina il workflow, e i fotogrammi già salvati restano nella cartella.
Più display
screencapture con un solo nome di file cattura solo il display principale. Con -D 2 cattura il secondo display, e puoi passare due nomi di file per salvare entrambi i display in un solo passaggio. I numeri dei display seguono la disposizione in System Settings e possono cambiare quando un display viene ricollegato, quindi controlla un fotogramma per ogni display prima di un'esecuzione lunga.
Salva un'app Automator riutilizzabile
Scegli File poi Save e seleziona Application come formato del file. Conserva l'app in un luogo stabile, come la cartella Applicazioni. Con un doppio clic il workflow viene eseguito senza aprire Automator.
Alla prima esecuzione dell'app salvata compare il suo prompt di registrazione dello schermo. Se il workflow invia tasti tramite AppleScript, l'app richiede anche il permesso di Accessibilità.
Eseguilo con una scorciatoia da tastiera
Un Quick Action di Automator può essere associato a una scorciatoia da tastiera. Crea un nuovo documento di tipo Quick Action, impostalo per non ricevere input in nessuna applicazione, aggiungi le stesse azioni e salvalo. Poi apri la sezione delle scorciatoie da tastiera in System Settings, trova l'azione tra i servizi e assegnale una scorciatoia. La scorciatoia avvia il loop da qualsiasi app, utile per i job con cambio pagina in cui l'app di destinazione deve restare in primo piano.
Risolvi i problemi del workflow
| Sintomo | Causa probabile | Soluzione |
|---|---|---|
| Le immagini mostrano solo lo sfondo | Permesso di registrazione dello schermo mancante | Consenti Automator o l'app salvata, poi riaprila |
| Un solo file dopo molti loop | Nome di file fisso sovrascritto a ogni passaggio | Usa l'opzione 2 o aggiungi un passaggio di rinomina |
| Il loop viene eseguito una volta sola | Loop impostato per chiedere ogni volta | Passa a Loop automatically |
| Manca il secondo display | Cattura a schermo intero solo di un display | Cattura ogni display con -D 1 e -D 2 |
| I fotogrammi sono neri | Il display si è spento durante l'esecuzione | Tieni il Mac sveglio per tutta la durata dell'esecuzione |
Leggi il log del workflow
Quando un'esecuzione si ferma presto, il log nella finestra di Automator mostra quale azione è fallita e il messaggio di errore. Un'azione shell che termina con un errore interrompe il loop. Una causa comune è un percorso con spazi non racchiuso tra virgolette, come ~/My Captures. Mantieni le virgolette attorno a "$dir/..." come nello script sopra. Un'altra causa è una cartella su un disco esterno non montato al momento dell'esecuzione dell'app salvata.
Tieni il Mac sveglio
Un loop lungo può superare il timer di spegnimento del display. Il comando caffeinate tiene il Mac sveglio mentre un altro comando è in esecuzione, e caffeinate -d impedisce lo spegnimento del display. Il metodo più semplice è avviarlo nel Terminale prima dell'esecuzione e fermarlo con Control+C al termine. In alternativa, aumenta il tempo di spegnimento del display in System Settings per la durata del job.
Quando Automator non basta
Automator copre un numero fisso di passaggi a un ritmo fisso. Alcune esigenze comuni richiedono lavoro in più:
- Pressione di un tasto tra i fotogrammi. Girare una pagina richiede un passaggio AppleScript che invia un tasto tramite System Events, più il permesso di Accessibilità.
- Arresto a un orario. L'azione Loop conta passaggi o minuti. Fermarsi alle 18:30 richiede logica sulle date in uno script.
- Pausa e ripresa. Fermarsi in anticipo termina l'intero workflow.
- Output ricercabile. Automator può combinare le immagini in un PDF, ma senza OCR il PDF non ha uno strato di testo.
Temposhot gestisce questi casi come impostazioni. Ogni ciclo salva uno screenshot, invia il Key press facoltativo e attende l'intervallo. Le condizioni di arresto sono Screenshots, Duration o End time, e la barra degli strumenti fluttuante mette in pausa, riprende o termina l'esecuzione. Le esportazioni includono un PDF ricercabile e un MP4. L'automazione dei tasti, Duration, End time e gli screenshot illimitati per sessione richiedono Temposhot Pro.
Lo stesso job con le impostazioni di Auto Capture
Il workflow con cambio pagina sopra, 40 fotogrammi con la freccia destra e una pausa di 2 secondi, si mappa su quattro campi. Il conto alla rovescia è l'unico campo senza equivalente in Automator. Le scelte sono None, 3 s (predefinito), 5 s e 10 s, e dà il tempo di portare il lettore alla prima pagina prima del primo fotogramma. Imposta Stop condition su Screenshots con 40, Interval a 2 secondi, Key press su Right Arrow e Countdown a 3 s, poi scegli la finestra nella scheda Windows. Temposhot porta quella finestra in primo piano all'avvio dell'esecuzione, così il tasto la raggiunge. Se esegui spesso il job, Save Current Setup salva i quattro valori come preset.
Per un'esecuzione che deve fermarsi alle 18:30, imposta Stop condition su End time con quell'orario locale. La pausa non sposta l'orario di fine, quindi una pausa di 20 minuti termina comunque l'esecuzione alle 18:30. Il percorso con Automator richiede uno script che legge l'orologio e termina il loop.
Impegno per un job di 300 pagine
Immagina 300 pagine di un documento che puoi catturare, un fotogramma per pagina con la freccia destra tra una e l'altra. In Automator il job richiede l'azione shell con un nome numerato, un passaggio AppleScript per i tasti, l'accesso di Accessibilità per l'app salvata, un'area misurata con il mirino e un passaggio separato per creare un PDF, che comunque non ha uno strato di testo. Qualsiasi interruzione termina l'esecuzione, e per ripartire devi correggere il conteggio e il numero iniziale. In Auto Capture lo stesso job sono quattro campi e una scelta della finestra. L'esecuzione si può mettere in pausa e riprendere dalla barra degli strumenti fluttuante, e l'esportazione PDF include il testo OCR. La differenza non sta nella qualità della cattura, ma nella quantità di lavoro di raccordo attorno alla cattura.
Quando Automator resta lo strumento giusto
Automator resta una buona scelta quando il job deve girare su un Mac dove non puoi installare app, quando l'output deve essere solo file immagine grezzi, o quando la cattura è un passaggio di un workflow più ampio che sposta file, ridimensiona immagini o invia email. In questi casi l'azione shell dell'opzione 2 con un nome di file numerato è il blocco più affidabile.
Verifica dei tempi per il job di 40 fotogrammi
Con un conto alla rovescia di 3 secondi e un intervallo di 2 secondi, il job di 40 fotogrammi attende circa 83 secondi in totale: 3 secondi prima del primo fotogramma e 80 secondi di intervalli, senza contare il tempo di ogni cattura. La versione con Automator aggiunge anche il tempo di salvataggio a ogni passaggio, quindi la sua esecuzione reale è più lunga di quanto indicano le sole impostazioni di pausa. Avvia l'esecuzione in Temposhot, conta i fotogrammi alla fine e verifica che siano 40. Se il conteggio è diverso, controlla di nuovo la condizione di arresto prima della prossima esecuzione.
Risolvi i problemi dell'esecuzione in Temposhot
| Sintomo | Causa probabile | Soluzione |
|---|---|---|
| Key press non ha effetto | Accessibilità non concessa, oppure macOS gestisce il tasto a livello globale | Concedi Accessibilità, poi esegui un breve test con il tasto |
| La finestra di destinazione non è in primo piano | Accessibilità non concessa | Concedila; se macOS blocca ancora il cambio di focus, clicca la finestra quando Temposhot lo chiede |
| I fotogrammi si ripetono | Il tasto è arrivato prima che la pagina finisse di essere disegnata | Aumenta l'intervallo, per esempio da 2 a 3 secondi |
| Il primo fotogramma mostra la pagina sbagliata | Il conto alla rovescia è troppo breve per passare alla finestra | Imposta il conto alla rovescia a 5 o 10 secondi |
| L'esecuzione si ferma prima dei 40 fotogrammi | La condizione di arresto è Duration o End time | Imposta Stop condition su Screenshots con 40 |
FAQ
Automator è ancora incluso in macOS?
Sì. Automator si trova nella cartella Applicazioni nelle versioni attuali di macOS, insieme all'app Shortcuts.
Automator può catturare una sola finestra?
L'azione Take Screenshot non sceglie una finestra per nome. Il flag screencapture -l accetta un ID di finestra, ma macOS non ha un comando integrato che stampi gli ID delle finestre.
Perché gli screenshot di Automator si sovrascrivono?
L'azione nativa può scrivere lo stesso nome di file a ogni passaggio. Usa l'azione shell dell'opzione 2, che numera ogni fotogramma.
Automator può creare un PDF dagli screenshot?
Automator include un'azione che combina le immagini in un PDF. Il risultato non ha uno strato di testo, quindi non è un PDF ricercabile.
Posso aggiungere dopo uno strato di testo al PDF di Automator?
Sì, con un passaggio separato. Screenshot to Searchable PDF esegue il riconoscimento del testo sugli screenshot nel browser e restituisce un PDF in cui puoi cercare e copiare.
Gli screenshot possono includere il puntatore?
Il comando screencapture esclude il puntatore per impostazione predefinita. Aggiungere -C lo include, utile quando i fotogrammi documentano dove qualcuno ha cliccato. L'azione nativa Take Screenshot non offre lo stesso controllo su tutte le versioni di macOS.
Perché il loop si ferma dopo un solo passaggio?
Probabilmente l'azione Loop è impostata per chiedere conferma prima di continuare. Passa a Loop automatically e imposta un numero di volte o di minuti. Controlla anche che nessuna azione precedente sia fallita; il log mostra l'errore.
Automator può avviare il loop a un orario prestabilito?
Automator non ha un proprio scheduler. Un agente launchd o un trigger basato sul calendario può aprire l'app salvata a un orario, ma ognuno aggiunge configurazione. Per un'esecuzione che deve terminare a un orario, l'impostazione End time di Temposhot fa lo stesso come condizione di arresto.
Trasforma gli screenshot ripetibili in lavoro finito
Per esecuzioni a orario con pressioni di tasti, condizioni di arresto ed esportazione in PDF o MP4, leggi la guida alla cattura automatica oppure consulta automazione degli screenshot su Mac. Per lo stesso loop senza Automator, leggi automatizzare gli screenshot dalla riga di comando.
automatorscreenshot-automationmacosworkflows
Termini utilizzati in questa pagina: screenshot workflow
Trasforma gli screenshot ripetibili in lavoro completato
Temposhot scatta screenshot a intervalli regolari o a ogni clic ed esporta il risultato come PDF, immagini, ZIP o MP4.
Post correlati
- Automatizzare gli screenshot su Mac dalla riga di comandoUsa i loop di screencapture di macOS per screenshot a schermo intero, su un'area fissa e con cambio pagina, con nomi di file sicuri e risoluzione dei problemi.
- Automatizzare gli screenshot con l'app Shortcuts su MacUsa Shortcuts su Mac per fare screenshot a intervalli di tempo, avviare il comando a un orario preciso o all'apertura di un'app, e risolvere i problemi di permessi per script o registrazione dello schermo.
- Come automatizzare gli screenshot su Mac con gli strumenti integratiAutomatizza gli screenshot su Mac con screencapture, Automator o Shortcuts, con permessi, loop sicuri e risoluzione dei problemi.
- Come fare uno screenshot su Mac: strumento integrato o app di terze partiQuando un software di screenshot di terze parti è meglio dello strumento integrato del Mac, e quando bastano le scorciatoie Cmd+Shift. Confronta CleanShot X, Snagit e Temposhot.