come verificare se uno specifico elemento dell'interfaccia utente è nello script di messa a fuoco

1

Ho cercato molto per questo, ma tutte le risposte parlano di come portare a fuoco un'intera finestra (o un dialogo ... che è ancora una finestra) tramite activate etc.

Ma non sono riuscito a trovare alcun modo per rilevare se un elemento dell'interfaccia utente specifico è stato selezionato, messo a fuoco ecc.

HoscrittounoscriptApplechesaltaautomaticamenteaAlfredpercreareunaricercawebpersonalizzata,maloscripthaavutoesitonegativoquandolaschedadellecaratteristichenonèstataselezionataperimpostazionepredefinita..quindiquestoèciòcheilmiocodice ha un aspetto simile :

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

Preferirei non fare questo brutto attacco (che fa sì che l'app sfarini rapidamente tra le schede ogni volta che chiamo la scorciatoia) .. preferirei fare una semplice istruzione if else .. idee?

    
posta abbood 17.02.2017 - 04:45
fonte

1 risposta

1

Funziona sicuramente sul mio sistema su cui è in esecuzione Alfred 3. Potrebbe essere necessario regolare i tempi di ritardo, ma come sono ora, questo script funziona per me.

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
    
risposta data 17.02.2017 - 06:31
fonte

Leggi altre domande sui tag