Como tirar capturas de tela repetidas com o Automator no Mac
Crie um fluxo de trabalho no Automator com Take Screenshot e Loop e use uma ação de shell quando precisar de arquivos em ordem.
14 min de leituraProdutividadePor Temposhot Team
O Automator vem com o macOS e consegue tirar uma série de capturas de tela sem software adicional. Um fluxo de trabalho com duas ou três ações captura a tela, espera e se repete. Este post monta esse fluxo de duas formas, salva o fluxo como app e lista os pontos em que uma ferramenta de captura dedicada exige menos esforço.
Verifique o acesso do Automator à captura de tela
O macOS trata a captura de tela como uma permissão protegida. Na primeira vez que um fluxo de trabalho captura a tela, o macOS pergunta se o Automator pode gravar a tela. Se você recusar ou se a pergunta nunca aparecer, os arquivos salvos mostram apenas o papel de parede e a barra de menus.
Abra System Settings, depois Privacy and Security, e encontre a lista de gravação de tela. O nome exato muda entre versões do macOS. Ative o Automator nessa lista, feche o Automator e abra-o novamente.
Um fluxo de trabalho salvo como app aparece como uma entrada separada nessa lista. O app precisa de permissão própria na primeira execução, mesmo quando o Automator já tem acesso.
Por que o resultado só com o papel de parede acontece
Sem acesso à gravação de tela, o macOS ainda deixa a captura ser concluída, mas retorna apenas o conteúdo que o processo tem permissão para ver: a imagem da área de trabalho e a barra de menus. Nada falha de forma visível. Por isso, o primeiro teste deve ser aberto e inspecionado, não apenas contado. Um arquivo de algumas centenas de kilobytes, quando você esperava vários megabytes, indica rapidamente que as janelas dos apps não aparecem.
Mover ou renomear o app salvo
O macOS vincula a entrada de permissão ao app. Se você recriar o fluxo, salvá-lo com outro nome ou movê-lo para outra pasta, o sistema pode tratá-lo como um app novo e pedir a permissão de novo, ou negar o acesso sem aviso até que você remova a entrada antiga e adicione a nova. Escolha o nome e o local finais antes da primeira execução real.
Escolha ações nativas ou uma ação de shell
O Automator oferece dois caminhos para o mesmo resultado:
- Ações nativas. A ação "Take Screenshot" mais a ação "Loop". Não exige código, mas o controle sobre nomes de arquivo e área de captura é limitado.
- Uma ação de shell. A ação "Run Shell Script" chama o comando
screencapture. Exige algumas linhas de shell, mas você controla exatamente os nomes de arquivo, o formato e a região.
Comece com as ações nativas para um teste rápido. Passe para a ação de shell quando os arquivos se sobrescreverem ou quando você precisar de uma região fixa.
Teste o comando no Terminal primeiro
Antes de colar uma linha de shell no Automator, execute-a uma vez no Terminal. screencapture -x ~/Desktop/test.png deve criar um único arquivo em ~/Desktop, sem som. Se o comando gerar uma imagem só com o papel de parede, o Terminal não tem acesso à gravação de tela. Essa é uma entrada de permissão separada da do Automator. Quando o comando funciona no Terminal, os problemas restantes dentro do Automator são de permissão do próprio Automator ou de caminhos, e ambos são mais rápidos de isolar.
Opção 1: use Take Screenshot e Loop
Crie um fluxo de trabalho
Abra o Automator em Aplicativos e crie um novo documento Workflow.
Adicione Take Screenshot
Pesquise "screenshot" na biblioteca e arraste Take Screenshot para o fluxo de trabalho. Escolha a captura de tela inteira e um destino em uma pasta usada somente para este job. As opções disponíveis variam de acordo com a versão do macOS.
Adicione uma pausa
Adicione a ação Pause e defina a espera, por exemplo, 3 segundos.
Adicione o loop
Adicione Loop no fim. Escolha repetir automaticamente e parar após uma contagem, como 10 vezes, ou após um número de minutos.
Execute um teste curto
Defina a contagem como 3, selecione Run e abra a pasta.
Verifique os nomes dos arquivos após o teste. Se a ação gravar o mesmo nome em cada passagem, cada captura substitui a anterior e você fica com um único arquivo. Adicionar uma ação de renomeação do Finder que acrescenta data e hora ajuda, mas um número sequencial é mais fácil de ordenar. A Opção 2 resolve isso diretamente.
Quanto tempo um loop realmente leva
A ação Pause define apenas parte do ciclo. Cada passagem também gasta tempo gravando a imagem, e, em um monitor 5K, um PNG de tela inteira pode levar uma fração de segundo perceptível. Para 10 loops com pausa de 3 segundos, só as esperas somam 30 segundos, e a execução real é um pouco mais longa. Em jobs sensíveis ao tempo, como um quadro por virada de página, meça uma execução com cronômetro e ajuste a pausa em vez de confiar no valor nominal.
Nomes sequenciais com Rename Finder Items
Se preferir continuar com ações nativas, a ação Rename Finder Items tem um modo que torna os nomes sequenciais. Ela trabalha nos arquivos recebidos, então o fluxo precisa entregar a nova captura a cada passagem. Na prática, isso fica trabalhoso dentro de um loop. Um caminho mais limpo é executar o loop nativo em uma pasta vazia com nomes de data e hora e, depois, executar um segundo fluxo, feito uma única vez, que renomeia todos os arquivos da pasta de forma sequencial, na ordem dos nomes.
Opção 2: combine Run Shell Script com o Loop do Automator
Substitua Take Screenshot por Run Shell Script e mantenha as ações Pause e Loop. Cole isto na ação, com o shell definido como 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"
Cada passagem conta os arquivos que já estão na pasta e grava o número seguinte, então os quadros ficam ordenados na ordem da captura: frame-0001.png, frame-0002.png e assim por diante. A flag -x desativa o som do obturador. Adicione -R 0,0,1440,900 antes do nome do arquivo para capturar uma região fixa em vez da tela inteira.
Esvazie a pasta, ou altere dir, antes de cada novo job. Caso contrário, a numeração continua a partir da última execução.
Coordenadas para uma região fixa
Os valores após -R são x, y, largura e altura em pontos, medidos a partir do canto superior esquerdo do monitor principal. Em uma tela Retina, a imagem salva tem o dobro de pixels em cada direção, então -R 0,0,1440,900 gera uma imagem de 2880 × 1800. Para descobrir os números, pressione Shift+Command+4. A mira mostra as coordenadas do ponteiro ao lado. Anote o canto superior esquerdo e o canto inferior direito da região, pressione Escape para cancelar e subtraia para obter a largura e a altura. Guarde os quatro números e mantenha a janela de destino no mesmo lugar em todas as execuções.
Adicione uma virada de página entre os quadros
Para capturar uma sequência de slides ou páginas, o fluxo precisa pressionar uma tecla após cada quadro. Adicione uma ação Run AppleScript depois da ação de shell:
on run {input, parameters}
tell application "System Events" to key code 124
return input
end run
A key code 124 é a seta para a direita. A tecla vai para o app que estiver em primeiro plano, então traga o app de destino para a frente antes de começar e não mexa no Mac durante a execução. O app salvo precisa da permissão de Acessibilidade para que o System Events envie teclas.
Um quadro por minuto
Para um job lento, como acompanhar um painel durante um deploy de 2 horas, defina Pause para 60 segundos e Loop para parar após 120 minutos. O loop verifica o limite de tempo entre as passagens, então a execução termina na primeira passagem após o limite e produz cerca de 120 quadros. Cada quadro é uma imagem de tela inteira, então verifique antes o espaço livre em disco. A execução ocupa a janela do Automator ou o app salvo durante todo o tempo. Interromper antes do fim encerra o fluxo, e os quadros já salvos permanecem na pasta.
Mais de um monitor
screencapture com um único nome de arquivo captura apenas o monitor principal. Com -D 2, captura o segundo monitor, e você pode passar dois nomes de arquivo para salvar os dois monitores em uma mesma passagem. A numeração dos monitores segue a disposição em System Settings e pode mudar quando um monitor é reconectado. Verifique um quadro de cada monitor antes de uma execução longa.
Salve um app reutilizável do Automator
Escolha File e depois Save, e selecione Application como formato do arquivo. Guarde o app em um lugar estável, como a pasta Applications. Clicar duas vezes nele executa o fluxo sem abrir o Automator.
A primeira execução do app salvo dispara o próprio pedido de gravação de tela. Se o fluxo enviar teclas pelo AppleScript, o app também precisa da permissão de Acessibilidade.
Execute com um atalho de teclado
Uma Quick Action do Automator pode ser vinculada a um atalho de teclado. Crie um novo documento do tipo Quick Action, configure-o para não receber entrada em nenhum app, adicione as mesmas ações e salve. Depois, abra a seção de atalhos de teclado em System Settings, encontre a ação em services e atribua um atalho. O atalho inicia o loop a partir de qualquer app. Isso é útil em jobs de virada de página em que o app de destino precisa continuar em primeiro plano.
Solucione problemas do fluxo
| Sintoma | Causa provável | Correção |
|---|---|---|
| As imagens mostram só o papel de parede | Permissão de gravação de tela ausente | Permita o Automator ou o app salvo e abra-o novamente |
| Só um arquivo após muitos loops | Nome fixo sobrescrito a cada passagem | Use a Opção 2 ou adicione uma etapa de renomeação |
| O loop roda uma vez | Loop configurado para perguntar a cada vez | Mude para repetir automaticamente |
| Segundo monitor ausente | Captura de tela inteira em apenas um monitor | Capture cada monitor com -D 1 e -D 2 |
| Quadros pretos | O monitor entrou em suspensão durante a execução | Mantenha o Mac acordado durante toda a execução |
Leia o log do fluxo
Quando uma execução para antes da hora, o log na janela do Automator mostra qual ação falhou e a mensagem de erro. Uma ação de shell que sai com erro interrompe o loop. Uma causa comum é um caminho com espaço sem aspas, como ~/My Captures. Mantenha as aspas em "$dir/...", como no script acima. Outra causa é uma pasta em um disco externo que não estava montada quando o app salvo foi executado.
Mantenha o Mac acordado
Um loop longo pode durar mais que o temporizador de suspensão da tela. O comando caffeinate mantém o Mac acordado enquanto outro comando é executado, e caffeinate -d impede a suspensão da tela. A abordagem mais simples é iniciá-lo no Terminal antes da execução e pará-lo com Control+C depois. Como alternativa, aumente o tempo de suspensão da tela em System Settings durante a duração do job.
Quando o Automator não basta
O Automator cobre uma contagem fixa em um ritmo fixo. Algumas necessidades comuns exigem trabalho extra:
- Tecla pressionada entre quadros. Virar uma página exige uma etapa de AppleScript que envie uma tecla pelo System Events, além da permissão de Acessibilidade.
- Parar em um horário. A ação Loop conta passagens ou minutos. Parar às 18:30 exige lógica de data em um script.
- Pausar e retomar. Parar antes do fim encerra o fluxo inteiro.
- Saída pesquisável. O Automator consegue combinar imagens em um PDF, mas sem OCR o PDF não tem camada de texto.
O Auto Capture do Temposhot trata esses casos como configurações. Cada ciclo salva uma captura de tela, envia a Key press opcional e espera o intervalo. As condições de parada são Screenshots, Duration ou End time, e a barra flutuante pausa, retoma ou finaliza a execução. As exportações incluem PDF pesquisável e MP4. Automação de teclas, Duration, End time e capturas de tela ilimitadas por sessão exigem o Temposhot Pro.
As mesmas configurações do job no Auto Capture
O fluxo de virada de página acima, com 40 quadros, Right Arrow (seta para a direita) e pausa de 2 segundos, corresponde a quatro campos. A contagem regressiva é o único campo que não tem equivalente no Automator. As opções são None, 3 s (o padrão), 5 s e 10 s. Ela dá tempo para levar o leitor até a primeira página antes do primeiro quadro. Defina Stop condition como Screenshots com 40, Interval como 2 segundos, Key press como Right Arrow e Countdown como 3 s. Depois escolha a janela na aba Windows. O Temposhot traz essa janela para a frente quando a execução começa, para que a tecla chegue até ela. Se você executa o job com frequência, Save Current Setup salva os quatro valores como predefinição.
Para uma execução que deve parar às 18:30, defina Stop condition como End time com esse horário local. Pausar não move o horário final, então uma pausa de 20 minutos ainda encerra a execução às 18:30. No Automator, esse caminho exige um script que leia o relógio e encerre o loop.
Esforço para um job de 300 quadros
Considere 300 páginas de um documento que você tem permissão para capturar, com um quadro por página e Right Arrow entre elas. No Automator, o job exige a ação de shell com nome numerado, uma etapa de tecla em AppleScript, a Acessibilidade para o app salvo, uma região medida com a mira e uma etapa separada para montar um PDF, que ainda não terá camada de texto. Qualquer interrupção encerra a execução, e reiniciar exige ajustar a contagem e o número inicial. No Auto Capture, o mesmo job são quatro campos e a escolha de uma janela. A execução pode ser pausada e retomada pela barra flutuante, e a exportação em PDF inclui texto obtido por OCR. A diferença não está na qualidade da captura, e sim na quantidade de trabalho auxiliar em torno dela.
Quando o Automator ainda é a ferramenta certa
O Automator continua sendo uma boa escolha quando o job precisa rodar em um Mac onde você não pode instalar apps, quando a saída só precisa de arquivos de imagem brutos, ou quando a captura é uma etapa de um fluxo maior que também move arquivos, redimensiona imagens ou envia e-mails. Nesses casos, a ação de shell da Opção 2 com nome de arquivo numerado é o bloco mais confiável.
Verificação de tempo para o job de 40 quadros
Com contagem regressiva de 3 segundos e intervalo de 2 segundos, o job de 40 quadros espera cerca de 83 segundos no total: 3 segundos antes do primeiro quadro e 80 segundos de intervalos, sem contar o tempo de cada captura. A versão do Automator também soma o tempo de salvamento a cada passagem, então a execução real é mais longa do que as configurações de pausa indicam sozinhas. Inicie a execução no Temposhot, conte os quadros no fim e confirme que a contagem é 40. Se a contagem for diferente, revise a condição de parada antes da próxima execução.
Solucione problemas da execução no Temposhot
| Sintoma | Causa provável | Correção |
|---|---|---|
| Key press não tem efeito | Acessibilidade não concedida, ou o macOS trata a tecla globalmente | Conceda a Acessibilidade e faça um teste curto com a tecla |
| A janela de destino não fica em primeiro plano | Acessibilidade não concedida | Conceda a permissão; se o macOS ainda bloquear a troca de foco, clique na janela quando o Temposhot pedir |
| Quadros se repetem | A tecla chegou antes de a página terminar de renderizar | Aumente o intervalo, por exemplo de 2 para 3 segundos |
| O primeiro quadro mostra a página errada | A contagem regressiva é curta demais para trocar de janela | Defina a contagem regressiva para 5 ou 10 segundos |
| A execução para antes de 40 quadros | Condição de parada é Duration ou End time | Defina Stop condition como Screenshots com 40 |
FAQ
O Automator ainda vem com o macOS?
Sim. O Automator está na pasta Applications nas versões atuais do macOS, junto com o app Atalhos.
O Automator consegue capturar uma única janela?
A ação Take Screenshot não escolhe uma janela pelo nome. A flag screencapture -l aceita um ID de janela, mas o macOS não tem um comando embutido que imprima os IDs de janela.
Por que minhas capturas do Automator se sobrescrevem?
A ação nativa pode gravar o mesmo nome de arquivo em cada passagem. Use a ação de shell da Opção 2, que numera cada quadro.
O Automator consegue criar um PDF a partir das capturas?
O Automator inclui uma ação que combina imagens em um PDF. O resultado não tem camada de texto, então não é um PDF pesquisável.
Posso adicionar uma camada de texto ao PDF do Automator depois?
Sim, com uma etapa separada. Screenshot to Searchable PDF executa reconhecimento de texto em capturas de tela no navegador e retorna um PDF no qual você pode pesquisar e copiar texto.
As capturas podem incluir o ponteiro?
O comando screencapture deixa o ponteiro de fora por padrão. Adicionar -C o inclui, o que ajuda quando os quadros documentam onde alguém clicou. A ação nativa Take Screenshot não oferece o mesmo controle em todas as versões do macOS.
Por que meu loop para após uma passagem?
A ação Loop provavelmente está configurada para perguntar antes de continuar. Mude para repetir automaticamente e defina uma contagem ou um número de minutos. Verifique também se alguma ação anterior falhou, pois o log mostra o erro.
O Automator consegue iniciar o loop em um horário definido?
O Automator não tem agendador próprio. Um agente do launchd ou um gatilho baseado em calendário pode abrir o app salvo em um horário, mas cada opção adiciona configuração. Para uma execução que deve terminar em um horário, a condição de parada End time do Temposhot faz isso como configuração.
Transforme capturas repetíveis em trabalho concluído
Para execuções temporizadas com teclas, condições de parada e exportação em PDF ou MP4, leia o guia de captura automatizada ou veja automação de capturas de tela no Mac. Para o mesmo loop sem o Automator, leia automatizar capturas de tela pela linha de comando.
automatorscreenshot-automationmacosworkflows
Termos usados aqui: screenshot workflow
Transforme capturas de tela repetitivas em trabalho pronto
O Temposhot faz capturas por temporizador ou a cada clique e exporta o resultado em PDF, imagens, ZIP ou MP4.
Posts relacionados
- Automatize capturas de tela no Mac pela linha de comandoUse loops com screencapture do macOS para capturas da tela inteira, de área fixa e de virada de página, com nomes de arquivo seguros e solução de problemas.
- Automatize capturas de tela com o app Shortcuts no MacUse o app Shortcuts no Mac para tirar capturas de tela em intervalos, executar o atalho em um horário definido ou quando um app abre, e corrigir as permissões de scripts e de gravação de tela.
- Como automatizar capturas de tela no Mac com ferramentas nativasAutomatize capturas de tela no Mac com screencapture, Automator ou Shortcuts, incluindo permissões, loops seguros e solução de problemas.
- Como fazer captura de tela no Mac: ferramenta nativa ou apps de terceirosQuando um software de captura de terceiros supera a ferramenta nativa do Mac e quando os atalhos Command+Shift bastam. Compare CleanShot X, Snagit e Temposhot.