cómo verificar si un elemento específico de la interfaz de usuario está enfocado en el script de Apple

1

He buscado mucho para esto, pero todas las respuestas hablan de cómo enfocar una ventana completa (o un diálogo ... que sigue siendo una ventana realmente) a través de activate etc.

Pero no pude encontrar ninguna forma de detectar si se seleccionó un elemento de IU específico , enfocado, etc.

EscribíunscriptdeApplequeautomáticamentesaltaparacrearunabúsquedawebpersonalizada,peroelscriptfallócuandolapestañadecaracterísticasnoestabaseleccionadadeformapredeterminada...asíqueestoesloquemicódigo parece como :

tell application "System Events"
    keystroke "," using command down
    delay delay_time
    tell process "Alfred Preferences"
        delay delay_time
        -- hack: to ensure that the the "Default results" button isn't selected
        -- by default, we select another tab first, then select the "features" tab
        click button "Appearance" of toolbar 1 of window 1
        click button "Features" of toolbar 1 of window 1
        delay delay_time
        UI elements of scroll area 1 of window 1
        -- bring the left menu to focus first (see hack above, without hack this would work sometimes only)
        keystroke tab

Preferiría no hacer este truco desagradable (lo que hace que la aplicación parpadee rápidamente entre las pestañas cada vez que llamo el acceso directo). Prefiero hacer una declaración simple en caso contrario ... ¿ideas?

    
pregunta abbood 17.02.2017 - 04:45

1 respuesta

1

Esto definitivamente funciona en mi sistema que ejecuta Alfred 3. Es posible que debas ajustar los tiempos de demora, pero como están ahora, este script funciona para mí.

activate application "Alfred Preferences"
delay 1.5
tell application "System Events"
    tell process "Alfred Preferences"
        click button "Features" of toolbar 1 of window "Alfred Preferences" of application process "Alfred Preferences" of application "System Events"
        delay 1
        set selected of row 3 of table 1 of scroll area 1 of window "Alfred Preferences" of application process "Alfred Preferences" of application "System Events" to true
        delay 1
        click button "Add Custom Search" of tab group 1 of window "Alfred Preferences" of application process "Alfred Preferences" of application "System Events"
    end tell
end tell
    
respondido por el wch1zpink 17.02.2017 - 06:31

Lea otras preguntas en las etiquetas