Скрипт в его нынешнем виде выполняет click
для объекта, который (пока) не существует. По сути, вам нужно delay
между двумя командами click
, чтобы дать системному времени создать экземпляр меню и его элементов.
Вот правка, которую я не могу проверить для вас, но я надеюсь, что она сработает:
tell application "System Events" to tell ¬
process "EndpointConnect" to tell ¬
menu bar 2 to tell ¬
menu bar item 1
if not (exists) then return null
click
tell (a reference to menu item "Disconnect" of menu 1)
repeat until it exists
delay 0.5
end repeat
click
end tell
end tell
Однако по неизвестной причине вы, вероятно, получите раздражающую 5-секундную задержку между появлением меню и щелчком по пункту меню. Она хорошо известна / документально оформлена, на нее часто жалуются, и проблема в течение многих лет не была устранена и, вероятно, никогда не будет устранена.