Comment prendre des captures d'écran répétées avec Automator sur Mac
Créez un workflow Automator de captures d'écran avec Take Screenshot et Loop, puis utilisez une action shell lorsque vous avez besoin de fichiers numérotés dans l'ordre.
14 min de lectureProductivitéPar Temposhot Team
Automator est livré avec macOS et peut prendre une série de captures d'écran sans logiciel supplémentaire. Un workflow de deux ou trois actions capture l'écran, attend, puis recommence. Cet article construit ce workflow de deux façons, l'enregistre comme application et indique les cas où un outil de capture dédié demande moins d'effort.
Vérifier l'accès à la capture d'écran dans Automator
macOS traite la capture d'écran comme une autorisation protégée. La première fois qu'un workflow capture l'écran, macOS demande si Automator peut enregistrer l'écran. Si vous refusez, ou si la demande n'apparaît jamais, les fichiers enregistrés ne montrent que le fond d'écran et la barre de menus.
Ouvrez System Settings, puis la section Privacy and Security (Confidentialité et sécurité), et repérez la liste d'enregistrement de l'écran. Le libellé exact varie selon la version de macOS. Activez Automator dans cette liste, quittez Automator, puis rouvrez-le.
Un workflow enregistré comme application apparaît comme une entrée distincte dans cette liste. L'application a besoin de sa propre autorisation lors de la première exécution, même si Automator y a déjà accès.
Pourquoi le résultat ne contient que le fond d'écran
Sans accès à l'enregistrement de l'écran, macOS laisse la capture réussir, mais ne renvoie que le contenu que le processus est autorisé à voir : l'image du bureau et la barre de menus. Aucune erreur n'apparaît. C'est pourquoi le premier test doit toujours être ouvert et inspecté, et pas seulement compté. Un fichier de quelques centaines de kilo-octets, alors que vous attendiez plusieurs mégaoctets, indique que les fenêtres des applications manquent.
Déplacer ou renommer l'application enregistrée
macOS associe l'entrée d'autorisation à l'application. Si vous recréez le workflow, l'enregistrez sous un nouveau nom ou le déplacez dans un autre dossier, le système peut le traiter comme une nouvelle application et demander à nouveau l'accès. Il peut aussi refuser l'accès sans message, tant que vous n'avez pas supprimé l'ancienne entrée et ajouté la nouvelle. Choisissez le nom et l'emplacement définitifs avant la première exécution réelle.
Choisir les actions natives ou une action shell
Automator propose deux méthodes pour obtenir le même résultat :
- Actions natives. L'action « Take Screenshot » et l'action « Loop ». Aucun code, mais contrôle limité sur les noms de fichiers et la zone de capture.
- Une action shell. L'action « Run Shell Script » appelle la commande
screencapture. Elle demande quelques lignes de shell, mais vous contrôlez exactement les noms de fichiers, le format et la zone.
Commencez par les actions natives pour un test rapide. Passez à l'action shell lorsque les fichiers s'écrasent entre eux ou lorsque vous avez besoin d'une zone fixe.
Tester la commande dans Terminal d'abord
Avant de coller une ligne shell dans Automator, exécutez-la une fois dans Terminal. screencapture -x ~/Desktop/test.png doit créer un seul fichier sur le Bureau, sans son. Si l'image ne contient que le fond d'écran, Terminal n'a pas accès à l'enregistrement de l'écran. Il s'agit d'une entrée d'autorisation distincte de celle d'Automator. Une fois la commande fonctionnelle dans Terminal, les problèmes restants dans Automator concernent les autorisations d'Automator lui-même ou les chemins. Ils sont plus rapides à isoler.
Option 1 : utiliser Take Screenshot et Loop
Créer un workflow
Ouvrez Automator depuis Applications et créez un nouveau document Workflow.
Ajouter Take Screenshot
Recherchez « screenshot » dans la bibliothèque et glissez Take Screenshot dans le workflow. Choisissez la capture de l'écran entier et une destination dans un dossier réservé à cette tâche. Les options disponibles varient selon la version de macOS.
Ajouter une pause
Ajoutez l'action Pause et réglez l'attente, par exemple à 3 secondes.
Ajouter la boucle
Ajoutez Loop à la fin. Choisissez de boucler automatiquement et de vous arrêter après un nombre de passages, par exemple 10, ou après un nombre de minutes.
Lancer un test court
Réglez le nombre à 3, sélectionnez Run et ouvrez le dossier.
Vérifiez les noms de fichiers après le test. Si l'action écrit le même nom à chaque passage, chaque capture remplace la précédente et vous n'obtenez qu'un seul fichier. Ajouter une action de renommage Finder qui inclut la date et l'heure aide, mais un numéro de séquence se trie plus facilement. L'option 2 résout ce problème directement.
Combien de temps dure réellement une boucle
L'action Pause ne règle qu'une partie du cycle. Chaque passage prend aussi du temps pour écrire l'image. Sur un écran 5K, un PNG plein écran peut prendre une fraction de seconde notable. Pour 10 boucles avec une pause de 3 secondes, les attentes seules durent 30 secondes, et l'exécution réelle est un peu plus longue. Pour les tâches sensibles au temps, comme une image par changement de page, mesurez une exécution au chronomètre et ajustez la pause plutôt que de vous fier à la valeur nominale.
Noms séquentiels avec Rename Finder Items
Si vous préférez rester avec les actions natives, l'action Rename Finder Items possède un mode qui rend les noms séquentiels. Elle agit sur les fichiers qui lui sont transmis, donc le workflow doit lui fournir la nouvelle capture à chaque passage. En pratique, cela devient délicat dans une boucle. Une méthode plus propre consiste à exécuter la boucle native dans un dossier vide, avec des noms basés sur la date et l'heure, puis à lancer un second workflow ponctuel qui renomme tous les fichiers du dossier dans l'ordre alphabétique des noms.
Option 2 : combiner Run Shell Script et Loop d'Automator
Remplacez Take Screenshot par Run Shell Script et conservez les actions Pause et Loop. Collez ce code dans l'action, avec le shell réglé sur 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"
Chaque passage compte les fichiers déjà présents dans le dossier et écrit le numéro suivant. Les images se trient ainsi dans l'ordre de capture : frame-0001.png, frame-0002.png, et ainsi de suite. L'option -x désactive le bruit de l'obturateur. Ajoutez -R 0,0,1440,900 avant le nom de fichier pour capturer une zone fixe au lieu de l'écran entier.
Videz le dossier, ou modifiez dir, avant chaque nouvelle tâche. Sinon, la numérotation reprend à partir de la dernière exécution.
Coordonnées d'une zone fixe
Les valeurs après -R sont x, y, largeur et hauteur, en points, mesurées depuis le coin supérieur gauche de l'écran principal. Sur un écran Retina, l'image enregistrée contient deux fois plus de pixels dans chaque direction : -R 0,0,1440,900 produit une image de 2880 × 1800. Pour trouver les valeurs, appuyez sur Shift+Command+4 : le viseur affiche les coordonnées du pointeur à côté. Notez le coin supérieur gauche et le coin inférieur droit de la zone, appuyez sur Escape pour annuler, puis soustrayez pour obtenir la largeur et la hauteur. Notez les quatre valeurs et gardez la fenêtre cible au même endroit pour chaque exécution.
Ajouter un changement de page entre les images
Pour capturer une séquence de diapositives ou de pages, le workflow doit appuyer sur une touche après chaque image. Ajoutez une action Run AppleScript après l'action shell :
on run {input, parameters}
tell application "System Events" to key code 124
return input
end run
Le code de touche 124 correspond à la flèche droite. La touche est envoyée à l'application au premier plan. Amenez donc l'application cible au premier plan avant de démarrer, et ne touchez pas au Mac pendant l'exécution. L'application enregistrée a besoin de l'autorisation Accessibility pour que System Events puisse envoyer les touches.
Une tâche d'une image par minute
Pour une tâche lente, par exemple suivre un tableau de bord pendant un déploiement de 2 heures, réglez Pause à 60 secondes et Loop pour s'arrêter après 120 minutes. La boucle vérifie la limite de temps entre deux passages. L'exécution s'arrête donc au premier passage après la limite et produit environ 120 images. Chaque image est une capture plein écran : vérifiez d'abord l'espace disque libre. L'exécution bloque la fenêtre Automator ou l'application enregistrée pendant toute la durée. Un arrêt anticipé met fin au workflow, et les images déjà enregistrées restent dans le dossier.
Plusieurs écrans
screencapture avec un seul nom de fichier ne capture que l'écran principal. Avec -D 2, elle capture le deuxième écran. Vous pouvez aussi transmettre deux noms de fichiers pour enregistrer les deux écrans lors d'un même passage. Les numéros d'écran suivent la disposition définie dans System Settings et peuvent changer lorsqu'un écran est reconnecté. Vérifiez donc une image de chaque écran avant une longue exécution.
Enregistrer une application Automator réutilisable
Choisissez File puis Save, et sélectionnez Application comme format de fichier. Enregistrez l'application à un emplacement stable, comme le dossier Applications. Un double-clic exécute le workflow sans ouvrir Automator.
La première exécution de l'application enregistrée déclenche sa propre demande d'enregistrement de l'écran. Si le workflow envoie des touches via AppleScript, l'application a aussi besoin de l'autorisation Accessibility.
Lancer avec un raccourci clavier
Une Quick Action Automator peut être liée à un raccourci clavier. Créez un nouveau document de type Quick Action, réglez-le pour ne recevoir aucune entrée dans aucune application, ajoutez les mêmes actions et enregistrez-le. Ouvrez ensuite la section des raccourcis clavier de System Settings, repérez l'action dans les services et attribuez-lui un raccourci. Ce raccourci lance la boucle depuis n'importe quelle application. C'est pratique pour les tâches de changement de page, où l'application cible doit rester au premier plan.
Dépanner le workflow
| Symptôme | Cause probable | Correctif |
|---|---|---|
| Les images ne montrent que le fond d'écran | Autorisation d'enregistrement de l'écran manquante | Autorisez Automator ou l'application enregistrée, puis rouvrez-la |
| Un seul fichier après de nombreuses boucles | Nom de fichier fixe écrasé à chaque passage | Utilisez l'option 2 ou ajoutez une étape de renommage |
| La boucle ne s'exécute qu'une fois | Loop réglé pour demander à chaque passage | Passez-le en boucle automatique |
| Second écran absent | Capture plein écran sur un seul écran | Capturez chaque écran avec -D 1 et -D 2 |
| Images noires | Écran en veille pendant l'exécution | Gardez le Mac éveillé pendant toute la durée de l'exécution |
Lire le journal du workflow
Lorsqu'une exécution s'arrête tôt, le journal de la fenêtre Automator indique l'action en échec et son message d'erreur. Une action shell qui se termine avec une erreur arrête la boucle. Une cause fréquente est un chemin contenant un espace sans guillemets, comme ~/My Captures. Gardez les guillemets autour de "$dir/...", comme dans le script ci-dessus. Une autre cause est un dossier situé sur un disque externe non monté au moment où l'application enregistrée s'exécute.
Garder le Mac éveillé
Une longue boucle peut dépasser le délai de mise en veille de l'écran. La commande caffeinate empêche le Mac de se mettre en veille pendant l'exécution d'une autre commande, et caffeinate -d empêche la mise en veille de l'écran. Le plus simple est de la lancer dans Terminal avant l'exécution, puis de l'arrêter avec Control+C. Vous pouvez aussi augmenter le délai de mise en veille de l'écran dans System Settings pour la durée de la tâche.
Quand Automator ne suffit pas
Automator gère un nombre fixe de passages à un rythme fixe. Plusieurs besoins courants demandent un travail supplémentaire :
- Appui sur une touche entre les images. Tourner une page nécessite une étape AppleScript qui envoie une touche via System Events, ainsi que l'autorisation Accessibility.
- Arrêt à une heure précise. L'action Loop compte les passages ou les minutes. Un arrêt à 18:30 nécessite une logique de date dans un script.
- Pause et reprise. Un arrêt anticipé met fin à l'ensemble du workflow.
- Sortie consultable. Automator peut combiner des images en PDF, mais sans OCR, le PDF n'a pas de couche de texte.
Temposhot gère ces besoins sous forme de réglages dans Auto Capture. Chaque cycle enregistre une capture d'écran, envoie la touche optionnelle Key press, puis attend l'intervalle. Les conditions d'arrêt sont Screenshots, Duration ou End time. La barre d'outils flottante met la tâche en pause, la reprend ou la termine. Les exports incluent un PDF consultable et un MP4. L'automatisation des touches, Duration, End time et un nombre illimité de captures par session nécessitent Temposhot Pro.
Le même travail sous forme de réglages Auto Capture
Le workflow de changement de page ci-dessus, soit 40 images avec la flèche droite et une pause de 2 secondes, correspond à quatre champs. Le compte à rebours est le seul champ qui n'a pas d'équivalent dans Automator. Ses valeurs sont None, 3 s (par défaut), 5 s et 10 s. Il laisse le temps d'amener le lecteur sur sa première page avant la première image. Réglez Stop condition sur Screenshots avec 40, Interval sur 2 secondes, Key press sur Right Arrow et Countdown sur 3 s, puis choisissez la fenêtre dans l'onglet Windows. Temposhot amène cette fenêtre au premier plan au démarrage de la tâche, afin que la touche l'atteigne. Si vous lancez souvent cette tâche, Save Current Setup enregistre les quatre valeurs comme préréglage.
Pour une exécution qui doit s'arrêter à 18:30, réglez Stop condition sur End time avec cette heure locale. La pause ne déplace pas l'heure de fin : une pause de 20 minutes termine donc tout de même l'exécution à 18:30. La méthode Automator nécessite un script qui lit l'heure et met fin à la boucle.
Effort pour une tâche de 300 pages
Prenons 300 pages d'un document que vous êtes autorisé à capturer, avec une image par page et la flèche droite entre chaque image. Dans Automator, la tâche nécessite l'action shell avec un nom numéroté, une étape AppleScript pour les touches, l'autorisation Accessibility pour l'application enregistrée, une zone mesurée avec le viseur, et une étape séparée pour construire un PDF, qui n'aura toujours pas de couche de texte. Toute interruption met fin à l'exécution, et la relancer oblige à ajuster le nombre et le numéro de départ. Dans Auto Capture, la même tâche se réduit à quatre champs et au choix d'une fenêtre. L'exécution peut être mise en pause et reprise depuis la barre d'outils flottante, et l'export PDF inclut le texte OCR. La différence ne tient pas à la qualité de capture, mais à la quantité de travail d'assemblage autour de la capture.
Quand Automator reste le bon outil
Automator reste un bon choix lorsque la tâche doit tourner sur un Mac où vous ne pouvez pas installer d'applications, lorsque la sortie doit simplement être des fichiers image bruts, ou lorsque la capture est une étape d'un workflow plus large qui déplace aussi des fichiers, redimensionne des images ou envoie des e-mails. Dans ces cas, l'action shell de l'option 2 avec un nom de fichier numéroté reste le bloc de base le plus fiable.
Vérification de durée pour la tâche de 40 images
Avec un compte à rebours de 3 secondes et un intervalle de 2 secondes, la tâche de 40 images attend environ 83 secondes au total : 3 secondes avant la première image et 80 secondes d'intervalles, sans compter le temps de chaque capture. La version Automator ajoute aussi son temps d'enregistrement à chaque passage. Son exécution réelle est donc plus longue que les seuls réglages de pause. Lancez l'exécution Temposhot, comptez les images à la fin et vérifiez que le compte est de 40. Si le compte est différent, vérifiez la condition d'arrêt avant la prochaine exécution.
Dépanner l'exécution Temposhot
| Symptôme | Cause probable | Correctif |
|---|---|---|
| Key press sans effet | Accessibility non accordé, ou macOS traite la touche globalement | Accordez Accessibility, puis lancez un test court avec la touche |
| La fenêtre cible n'est pas au premier plan | Accessibility non accordé | Accordez-le ; si macOS bloque encore le changement de focus, cliquez sur la fenêtre lorsque Temposhot le demande |
| Images répétées | La touche est arrivée avant la fin du rendu de la page | Augmentez l'intervalle, par exemple de 2 à 3 secondes |
| La première image montre la mauvaise page | Le compte à rebours est trop court pour changer de fenêtre | Réglez le compte à rebours sur 5 ou 10 secondes |
| L'exécution s'arrête avant 40 images | La condition d'arrêt est Duration ou End time | Réglez Stop condition sur Screenshots avec 40 |
FAQ
Automator est-il toujours livré avec macOS ?
Oui. Automator se trouve dans le dossier Applications des versions actuelles de macOS, à côté de l'application Shortcuts.
Automator peut-il capturer une seule fenêtre ?
L'action Take Screenshot ne cible pas une fenêtre par son nom. Le paramètre screencapture -l prend un ID de fenêtre, mais macOS ne dispose d'aucune commande intégrée qui affiche les ID de fenêtre.
Pourquoi mes captures Automator s'écrasent-elles ?
L'action native peut écrire le même nom de fichier à chaque passage. Utilisez l'action shell de l'option 2, qui numérote chaque image.
Automator peut-il créer un PDF à partir des captures ?
Automator inclut une action qui combine des images en PDF. Le résultat n'a pas de couche de texte. Ce n'est donc pas un PDF consultable.
Puis-je ajouter une couche de texte au PDF Automator ensuite ?
Oui, avec une étape séparée. Screenshot to Searchable PDF lance la reconnaissance de texte sur les captures dans le navigateur et renvoie un PDF dans lequel vous pouvez rechercher et copier du texte.
Les captures peuvent-elles inclure le pointeur ?
La commande screencapture exclut le pointeur par défaut. L'ajout de -C l'inclut, ce qui est utile lorsque les images documentent l'endroit où quelqu'un a cliqué. L'action native Take Screenshot n'offre pas le même contrôle sur toutes les versions de macOS.
Pourquoi ma boucle s'arrête-t-elle après un seul passage ?
L'action Loop est probablement réglée pour demander confirmation avant de continuer. Passez-la en boucle automatique et définissez un nombre ou un nombre de minutes. Vérifiez aussi qu'aucune action précédente n'a échoué. Le journal affiche l'erreur.
Automator peut-il lancer la boucle à une heure fixe ?
Automator n'a pas de planificateur propre. Un agent launchd ou un déclencheur basé sur le calendrier peut ouvrir l'application enregistrée à une heure donnée, mais chacun ajoute de la configuration. Pour une exécution qui doit se terminer à une heure précise, la condition d'arrêt End time de Temposhot le fait avec un simple réglage.
Transformer des captures répétables en travail finalisé
Pour des exécutions chronométrées avec appuis de touches, conditions d'arrêt et export PDF ou MP4, lisez le guide de capture automatisée ou consultez l'automatisation des captures d'écran sur Mac. Pour la même boucle sans Automator, lisez automatiser les captures d'écran depuis la ligne de commande.
automatorscreenshot-automationmacosworkflows
Termes utilisés ici : screenshot workflow
Transformez vos captures d'écran répétitives en résultats prêts à l'emploi
Temposhot capture l'écran à intervalles réguliers ou à chaque clic et exporte le résultat au format PDF, image, ZIP ou MP4.
Articles connexes
- Automatiser les captures d'écran sur Mac avec la ligne de commandeUtilisez les boucles screencapture de macOS pour les captures plein écran, les zones fixes et les changements de page, avec des noms de fichiers sûrs et le dépannage.
- Automatiser les captures d'écran avec l'app Shortcuts sur MacUtilisez Shortcuts sur Mac pour prendre des captures à intervalles réguliers, lancer le raccourci à une heure donnée ou à l'ouverture d'une app, et corriger les autorisations de script ou d'enregistrement de l'écran.
- Comment automatiser les captures d'écran sur Mac avec les outils intégrésAutomatisez les captures d'écran sur Mac avec screencapture, Automator ou Shortcuts, avec les autorisations, des boucles sûres et le dépannage.
- Capture d'écran sur Mac : outils intégrés ou applications tiercesQuand une application tierce dépasse l'outil intégré de Mac, et quand les raccourcis Cmd+Shift suffisent. Comparaison de CleanShot X, Snagit et Temposhot.