Compilando gli ingressi di SecurityAgent se esistono?

1

Sto cercando di automatizzare l'esportazione dei miei portachiavi (sistema e utente), e mentre il mio script funziona se rimuovo i valori impostati, non lo fa dopo averli aggiunti.

L'errore che sto ricevendo è

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

Sembra che sto chiedendo qualcosa che non esiste? Ecco il modale

Edeccoilcodice.

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

Se possibile vorrei rilevare se ci sono campi prima di tentare di impostare in modo che questo possa funzionare con o senza richiesta di password

    
posta ehime 18.04.2015 - 00:17
fonte

1 risposta

3

Questo ha funzionato

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
    
risposta data 18.04.2015 - 00:29
fonte

Leggi altre domande sui tag