J'ai une solution qui pourrait fonctionner pour vous. Cette approche ne nécessitera pas l'utilisation d'Automator ou de raccourcis clavier pour coller du texte dans les champs de mot de passe. Dans l'application Script Editor.app, collez le code AppleScript suivant dans un nouveau document et enregistrez-le sous forme d'un fichier .scpt. J'ai nommé ma version Cyber_Test.scpt. Pour que cette approche fonctionne correctement, vous devrez aller dans Préférences de Script Editor/ Général/ et sélectionner l'option "Afficher le menu du script dans la barre de menu".
Ensuite, ouvrez Cyberduck.app et pendant qu'il est au premier plan, cliquez sur le menu du script dans la barre de menu/ Ouvrir le dossier des scripts/ Ouvrir le dossier des scripts Cyberduck. Finder.app révélera et ouvrira ensuite ce dossier. C'est là que vous devrez mettre votre version du fichier "Cyber_Test.scpt" que vous avez précédemment créé et enregistré.
Grâce à toutes ces étapes précédentes, maintenant à chaque fois que Cyberduck.app est en cours d'exécution et au premier plan, vous pouvez simplement exécuter votre "Cyber_Test.scpt" en le sélectionnant dans le menu du script dans la barre de menu.
définir authenticationText sur "code_de_verification"
définir cyberDuckIsRunning sur application "Cyberduck" en cours d'exécution
si cyberDuckIsRunning alors activer application "Cyberduck"
répéter tant que cyberDuckIsRunning
dire à l'application "System Events" de dire au processus de l'application "Cyberduck"
essayer
si le champ de texte 1 de la feuille 1 de la fenêtre 1 existe alors
définir la valeur du champ de texte 1 de la feuille 1 de la fenêtre 1 sur authenticationText
pause .1
cliquer sur le bouton "Continuer" de la feuille 1 de la fenêtre 1
fin si
fin essayer
fin dire
pause 0.1
définir cyberDuckIsRunning sur application "Cyberduck" en cours d'exécution
fin répéter
Je n'ai pas pu reproduire la même fenêtre de code de vérification que celle de votre image, mais j'ai pu provoquer une fenêtre similaire pour insérer un mot de passe ou un code de vérification quelconque. Pour cette raison, le code de mon exemple pourrait ne pas fonctionner pour vous. Si tel est le cas, vous pourriez suivre ma solution ici https://apple.stackexchange.com/a/315091/210407 à propos de l'utilisation d'Automator et Watch Me Do, pour identifier le nom des fenêtres et autres éléments de l'interface utilisateur, qui peuvent ensuite être insérés dans votre code.
Fondamentalement, ce script continuera à s'exécuter, vérifiera constamment si la fenêtre de code de vérification existe et, si c'est le cas, insérera le texte (que vous définirez dans la variable authenticationText
. Ensuite, il cliquera sur le bouton "Continuer". Ensuite, il continuera à surveiller cette fenêtre de vérification à nouveau, etc., seulement pendant que Cyberduck.app est en cours d'exécution. Lorsque Cyberduck.app n'est plus en cours d'exécution, le "Cyber_Test.scpt" s'arrêtera également.
Certaines personnes vous diront qu'il serait plus efficace en termes de ressources de créer une application qui reste ouverte avec un gestionnaire d'inactivité... Et d'insérer une certaine variation du code dans le gestionnaire d'inactivité. En général, je serais d'accord avec cela, mais pour les besoins de cette tâche, la quantité de code s'exécutant dans la boucle répétée est tellement minime que je ne pense pas que cela fasse beaucoup de différence. D'un autre côté, s'il s'agissait d'un fichier d'application... vous auriez besoin de gérer la contrainte d'ajouter l'application dans vos préférences de sécurité... à la liste des applications autorisées à contrôler votre ordinateur. Ensuite, à chaque fois que vous apportez des modifications au code et le réenregistrez, vous devrez retourner et le réajouter dans vos Préférences de sécurité. Avec les fichiers .scpt exécutés à partir du menu du script dans la barre de menu, je crois que seuls System Events.app et Script Editor.app doivent être ajoutés à vos Préférences de sécurité (une seule fois).