Pular para o conteúdo

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.

Checklist das entradas de privacidade do macOS que um job de captura do Automator pode precisar: gravação de tela para o Automator, gravação de tela para o app salvo, acessibilidade para teclas e um novo início após cada mudança.

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.

Comparação entre a ação Take Screenshot do Automator e uma ação Run Shell Script que chama screencapture: esforço de configuração, nomes de arquivo, controle de região, escolha de formato e habilidade necessária.

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

  1. Crie um fluxo de trabalho

    Abra o Automator em Aplicativos e crie um novo documento Workflow.

  2. 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.

  3. Adicione uma pausa

    Adicione a ação Pause e defina a espera, por exemplo, 3 segundos.

  4. 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.

  5. 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.

Configurações do fluxo nativo do Automator: Take Screenshot com captura de tela inteira em uma pasta dedicada, Pause com 3 segundos e Loop configurado para repetir automaticamente e parar após 10 vezes.

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.

Quatro números do teste no Automator: 10 loops, pausa de 3 segundos, pelo menos 30 segundos de espera no total e 10 arquivos PNG numerados esperados na pasta.

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.

Teclas usadas com o fluxo do Automator: Shift+Command+4 para ler coordenadas, Escape para cancelar a mira, Command+R para executar o fluxo no Automator, Command+S para salvá-lo e Control+C para parar o caffeinate.

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.

Fluxo de uma passagem do loop no Automator: Run Shell Script salva o quadro numerado, Run AppleScript envia key code 124, Pause espera 2 segundos e Loop inicia a próxima passagem até atingir a contagem.

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.

Linha do tempo do job lento no Automator: início em 0 com o quadro 1, quadro 30 aos 30 minutos, quadro 60 em uma hora, quadro 120 em duas horas, e o loop termina na primeira passagem após o limite de 120 minutos.

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.

Árvore de pastas de um job de captura no Automator: o app Capture Loop salvo em Applications, uma Quick Action na pasta Services e uma pasta de capturas com quadros PNG numerados.

Solucione problemas do fluxo

SintomaCausa provávelCorreção
As imagens mostram só o papel de paredePermissão de gravação de tela ausentePermita o Automator ou o app salvo e abra-o novamente
Só um arquivo após muitos loopsNome fixo sobrescrito a cada passagemUse a Opção 2 ou adicione uma etapa de renomeação
O loop roda uma vezLoop configurado para perguntar a cada vezMude para repetir automaticamente
Segundo monitor ausenteCaptura de tela inteira em apenas um monitorCapture cada monitor com -D 1 e -D 2
Quadros pretosO monitor entrou em suspensão durante a execuçãoMantenha 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.

Lista de fazer e não fazer para loops no Automator: usar uma pasta dedicada, testar com 3 loops, colocar caminhos entre aspas e manter o Mac acordado; não reutilizar uma pasta entre jobs nem mover o app salvo após conceder a permissão.

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.

Comparação entre um fluxo de captura de tela do Automator e o Auto Capture do Temposhot em tecla pressionada, condições de parada, pausa e retomada, captura de janela e formatos de saída.

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.

Cinco passos para refazer o job de virada de página do Automator no Temposhot: abrir o Auto Capture, definir 40 capturas e intervalo de 2 segundos, gravar Right Arrow, escolher a janela e exportar um PDF.

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

SintomaCausa provávelCorreção
Key press não tem efeitoAcessibilidade não concedida, ou o macOS trata a tecla globalmenteConceda a Acessibilidade e faça um teste curto com a tecla
A janela de destino não fica em primeiro planoAcessibilidade não concedidaConceda a permissão; se o macOS ainda bloquear a troca de foco, clique na janela quando o Temposhot pedir
Quadros se repetemA tecla chegou antes de a página terminar de renderizarAumente o intervalo, por exemplo de 2 para 3 segundos
O primeiro quadro mostra a página erradaA contagem regressiva é curta demais para trocar de janelaDefina a contagem regressiva para 5 ou 10 segundos
A execução para antes de 40 quadrosCondição de parada é Duration ou End timeDefina 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