¿Cómo identificar el diálogo de alerta de Safari Javascript usando AppleScript?

2

En un sitio web particularmente "molesto", aparece un cuadro de diálogo para bloquear (o cubrir) la entrada automatizada del cuadro de entrada del ID de usuario.

He utilizado el siguiente código para intentar obtener una referencia & Para cerrar esta ventana, pero no han tenido éxito.

tell application "System Events"
    key code 15 using {command down}
    key code 36        // return key

end tell

tell application "System Events" to tell process "Safari"
    set numSheets to (count of sheets) & " sheets" as text       // 0 sheets
end tell

set numDocuments to (count of documents) & " documents" as text  // 1 documents
set numWindows to (count of windows) & " windows" as text        // 1 sheets

¿Qué más hay disponible para encontrar y cerrar el cuadro de alerta?

Editar: El key code 36 a veces cerrará la alerta, y otras veces, cuando no esté presente, enviará la página demasiado pronto.

    
pregunta David C 18.07.2014 - 21:24

1 respuesta

4

Si aparece un cuadro de diálogo de alerta con un botón Aceptar, este código AppleScript lo cerrará.

tell application "System Events" to tell process "Safari"
    if exists (button "OK" of window 1) then
        click (button "OK" of window 1)
    end if
end tell

Es probable que tengas que personalizar esto para que se ajuste a tu situación exacta. Si el cuadro de diálogo de alerta aparece con un título, todos pueden especificarlo como se muestra a continuación.

tell application "System Events" to tell process "Safari"
    if exists (button "OK" of window "Java applet missing") then
        click (button "OK" of window "Java applet missing")
    end if
end tell

Otra opción sería identificar la alerta usando "ventana frontal" como en el siguiente ejemplo (suponiendo que la alerta es la ventana frontal).

tell application "System Events" to tell process "Safari"
    if exists (button "OK" of front window) then
        click (button "OK" of front window)
    end if
end tell

Espero que esto ayude.

    
respondido por el Alistair McMillan 18.07.2014 - 23:51

Lea otras preguntas en las etiquetas