Я всегда нахожу более понятным вкладывать блоки подсказок; это облегчает отладку, потому что вы можете добавить 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
на том или ином уровне в коде, чтобы посмотреть, что отображается в журналах редактора сценариев, и какой лучший способ определить, что я хочу, может быть.