1 votes

Comment créer un workflow Automator pour coller un code d'authentification dans une application GUI?

Actuellement, j'ai créé un flux de travail automatisé (dans Catalina) qui collera un code d'authentification à deux étapes par un raccourci clavier dans l'application Cyberduck. Cependant, je me demande comment créer un flux de travail qui peut automatiquement coller le code via le raccourci chaque fois qu'une certaine fenêtre contextuelle apparaît. Par exemple, dans Cyberduck, nous avons:

entrez la description de l'image ici

Je me demande comment automator peut être utilisé ici en général. J'ai vu quelque chose qui pourrait correspondre à ce que je veux, affiché comme "texte" dans les options du flux de travail automatisé:

entrez la description de l'image ici

mais j'aimerais savoir si c'est la bonne voie. Merci!

0voto

wch1zpink Points 6067

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

entrer la description de l'image iciEnsuite, 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é.

entrer la description de l'image ici

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.

entrer la description de l'image ici

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.

entrer la description de l'image ici

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X