Вы получили одну и ту же распечатку оба раза, потому что вы не удалили return myResult
строку после первого запуска. return
будет всегда завершать сценарий, когда он достигает этой команды.
▸ Дополнительно измените это:
set myStatus to menu items of menu 1
к этому:
set myResult to name of menu items of menu 1
▸ Удалить эту строку:
get menu items of menu 1
и эта строка:
set myResult to result
(Они буквально ничего не делают.)
Ваш финальный скрипт будет выглядеть так:
tell application "System Events" to tell process "Box Sync" to ¬ tell menu bar item 1 of menu bar 2 click set myResult to name of menu items of menu 1 myResult contains "Files Synced" end tell
который вернется true
или false
.
В качестве альтернативы, без явных объявлений переменных (и с использованием предопределенной result
переменной AppleScript ):
tell application "System Events" to tell process "Box Sync" to ¬ tell menu bar item 1 of menu bar 2 click get the name of menu items of menu 1 result contains "Files Synced" end tell
Если вам нужны какие-либо разъяснения или у вас есть дополнительные вопросы, не стесняйтесь оставлять комментарии, и я свяжусь с вами. Пожалуйста, рассмотрите возможность выбора этого ответа в качестве принятого, если это поможет решить вашу проблему.