2 votos

¿Rellenar las entradas de SecurityAgent si existen?

Estoy intentando automatizar la exportación de mis llaveros (de sistema y de usuario), y mientras mi script funciona si quito los valores establecidos, no lo hace después de añadirlos.

El error que recibo es

System Events got an error: Can’t get text field 1 of group 1 of window 1 of process "SecurityAgent". Invalid index.

¿Parece que estoy pidiendo algo que no existe? Aquí está el modal

System Events

Y aquí está el código.

tell application "System Events"
    repeat while exists (processes where name is "SecurityAgent")
        tell process "SecurityAgent"
            set value of text field 1 of group 1 of window 1 to "adminuser"
            set value of text field 2 of group 1 of window 1 to "adminpass"
            click button "Allow" of group 1 of window 1
        end tell
        delay 0.2
    end repeat
end tell

Si es posible, me gustaría detectar si hay campos antes de intentar configurar para que esto pueda funcionar con o sin solicitud de contraseña

5voto

ehime Puntos 131

Esto funcionó

set appName to "username"
set appPass to "password"

tell application "System Events"
    repeat while exists (processes where name is "SecurityAgent")
        tell process "SecurityAgent"
            if exists (text field 1 of window 1) then
                set value of text field 1 of window 1 to appName
                set value of text field 2 of window 1 to appPass
            end if
            click button "Allow" of group 1 of window 1
        end tell
        delay 0.2
    end repeat
end tell

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