1 votos

¿Cómo crear un flujo de trabajo de Automator para pegar el código de autenticación dentro de una aplicación GUI?

Actualmente he creado un flujo de trabajo de Automator (en Catalina) que pegará un código de autenticación de dos pasos mediante un atajo de teclado dentro de la aplicación Cyberduck. Sin embargo, me pregunto cómo crear un flujo de trabajo que pueda pegar automáticamente el código a través del atajo de teclado cada vez que aparezca una determinada ventana emergente. Por ejemplo, en Cyberduck tenemos:

enter image description here

Me pregunto cómo se puede utilizar generalmente el automatismo en este caso. He visto algo que podría adherirse a lo que quiero, mostrado como "texto" en las opciones de flujo de trabajo de automator:

enter image description here

pero me gustaría saber si este es el camino correcto. Gracias.

0voto

wch1zpink Puntos 11

Tengo una solución que puede funcionar para usted. Este enfoque no requerirá el uso de Automator o atajos de teclado para pegar el texto en los campos de contraseña. En script Editor.app, pegue este siguiente código AppleScript en un nuevo documento y guárdelo como un archivo .scpt. He llamado a mi versión Cyber_Test.scpt. Para que este enfoque siguiente funcione correctamente, tendrá que ir a scriptPreferencias del editor/ General/ y seleccionar la opción de "Mostrar menú del scripten la barra de menú".

enter image description here A continuación, abra Cyberduck.app y mientras está en la parte delantera, haga clic en el menú script de la barra de menús/ Abrir la carpeta / Abrir la carpeta de Cyberduck. Finder.app revelará y abrirá esa carpeta. Ahí es donde tendrá que poner su versión del archivo "Cyber_Test.scpt" que creó y guardó previamente.

enter image description here

Debido a todos esos pasos anteriores, ahora en cualquier momento que Cyberduck.app se esté ejecutando y esté al frente de la mayoría, puede simplemente ejecutar su "Cyber_Test.scpt" seleccionándolo en el menú script en la barra de menú.

enter image description here

set authenticationText to "verification_code"
set cyberDuckIsRunning to application "Cyberduck" is running

if cyberDuckIsRunning then activate application "Cyberduck"

repeat while cyberDuckIsRunning
    tell application "System Events" to tell application process "Cyberduck"
        try
            if exists of text field 1 of sheet 1 of window 1 then
                set value of text field 1 of sheet 1 of window 1 to authenticationText
                delay .1
                click button "Continue" of sheet 1 of window 1
            end if
        end try
    end tell
    delay 0.1
    set cyberDuckIsRunning to application "Cyberduck" is running
end repeat

No he podido producir la misma ventana de código de verificación que la de tu imagen, pero sí he podido provocar una ventana similar para insertar una especie de contraseña o código de verificación. Debido a esto, el código de mi ejemplo puede no funcionar para usted. Si este es el caso, puede seguir mi solución aquí https://apple.stackexchange.com/a/315091/210407 Sobre el uso de Automator y Watch Me Do, para identificar el nombre de Windows y otros elementos de la interfaz de usuario, que luego se puede insertar en su código.

Básicamente, este script seguirá ejecutándose, comprobando continuamente si existe la ventana de código de verificación y, en caso de que exista, insertará el texto (que definirás en el authenticationText variable. A continuación, hará clic en el botón "Continuar". Entonces continuará monitoreando esa ventana de verificación de nuevo, etc., sólo mientras Cyberduck.app se esté ejecutando. Cuando Cyberduck.app deje de ejecutarse, el "Cyber_Test.scpt" también dejará de ejecutarse.

enter image description here

Algunas personas te dirán que sería más eficiente en cuanto a recursos crear una aplicación de permanencia abierta con un manejador de inactividad... E insertar alguna variación del código dentro del manejador de inactividad. Generalmente estaría de acuerdo con eso, pero para los propósitos de esta tarea, la cantidad de código que se ejecuta en el bucle de repetición es tan mínima que no creo que haga mucha diferencia. En otra nota, si fuera un archivo de aplicación... tendrías que lidiar con la molestia de agregar la aplicación en tus preferencias de seguridad... a la lista de aplicaciones permitidas para controlar tu computadora. Entonces, cada vez que hagas cambios en el código y lo vuelvas a guardar, tendrás que volver a añadirlo en tus Preferencias de Seguridad de nuevo. Con los archivos .scpt que se ejecutan desde el menú script de la barra de menús, creo que sólo hay que añadir System Events.app y script Editor.app a tus Preferencias de Seguridad (sólo una vez)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X