AppleScript: проблема после обновления до Ventura: кнопка не найдена
У меня есть простой скрипт, который автоматизирует команду «Экспортировать библиотеку» в Music. Он делает следующее:
tell application "System Events"
tell process "Music"
set libmenu to menu item "Library" of menu "File" of menu bar 1
click menu item "Export Library…" of menu of libmenu
tell window 1
click button "Save"
tell sheet 1 to click button "Replace"
end tell
end tell
end tell
(По сути, он открывает меню и нажимает очевидные кнопки, экономя мне несколько кликов). Однако после обновления до Ventura (macOS 13.0) это перестало работать. Командаclick button "Save"
терпит неудачу с:
Can’t get button \"Save\" of window 1 of process \"Music\"."
я пытался сказатьclick button 1
илиclick button 2
вместо этого, но это не работает. Я тогда сказалname of every button
и он напечатал
{missing value, missing value, missing value}
Я не смог найти хорошего руководства по AppleScript, но, похоже, что-то изменилось в Ventura. Любые подсказки будут оценены!
Спасибо,
2 ответа
Хорошо, я заменилclick button "Save"
с:
repeat with b in (get buttons)
if name of b is "Save" then
click b
end if
end repeat
Интересно, что я все еще могу нажать кнопку «Заменить» напрямую, не прибегая к циклу.
Спасибо!
ХОРОШО! Я нашел подсказку для ответа здесь: просто добавьте небольшую задержку перед попыткой нажать «Сохранить»!
delay 0.5
click button "Save"
Без задержки диалоговое окно не кажется готовым, и действительно, если вы это сделаете, вы увидите только 3 из верхнего левого угла (закрыть, свернуть, увеличить). С задержкой,get buttons
возвращает 6 кнопок, включая "Сохранить".