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 кнопок, включая "Сохранить".

Другие вопросы по тегам