Как исправить этот код, пытаясь нажать кнопку - PullRequest
0 голосов
/ 24 июня 2019

Попытка нажать кнопку «Выбрать», но безуспешно. У меня есть код ниже, пытаясь исправить.

enter image description here

Пробовал этот код, но выдает ошибку.

error "System Events got an error: Can’t get process \"safari\"." number -1728 from process "safari"

'''activate application "Safari"
tell application "System Events" to tell process "safari"
    click button "choose" of sheet 1 of window 1
end tell
'''

вот код, который я хочу исправить

'''button "Choose" of sheet 1 of window 1 of application process "Safari" of application "System Events"
'''

1 Ответ

0 голосов
/ 01 июля 2019

Я всегда нахожу более понятным вкладывать блоки подсказок; это облегчает отладку, потому что вы можете добавить log операторов или других проверок на разных уровнях. Так что я бы использовал это:

tell application "System Events"
    tell process "Safari"
        set frontmost to true
        tell window 1
            tell sheet 1
                click button "Choose"
            end tell
        end tell
    end tell
end tell

Помните, что системные события требовательны и чувствительны к регистру. Он найдет process "Safari", но подбросит process "safari"; индексы объектов могут изменяться без уведомления, если все вообще динамично; вам, возможно, придется пройти через структуру, чтобы найти то, что вы хотите. Например, я часто добавляю строку типа properties of every button на том или ином уровне в коде, чтобы посмотреть, что отображается в журналах редактора сценариев, и какой лучший способ определить, что я хочу, может быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...