Как перезагрузить расширение Safari из командной строки? - PullRequest
4 голосов
/ 10 апреля 2011

Мне нужно «перезагрузить» расширение Safari из командной строки (а также собрать пакет позже).

Как это можно сделать?

Почему?

Я бы хотел сделать один шаг - мой код написан на CoffeeScript, и поэтому я все равно его компилирую.

Что я пробовал?

Помимо безнадежного поиска в Google, я попытался использовать этот AppleScript:

tell application "System Events"
   tell process "Safari"
       click the button "Reload" of window "Extension Builder"
   end tell
end tell

Какие ошибки с:

Системные события получили ошибку: не удается получить кнопку «Перезагрузить» окна «Построитель расширений» процесса «Safari».

И этот вариант:

tell application "System Events"
    tell process "Safari"
       tell button "Reload" of window "Extension Builder" to perform action
    end tell
end tell

Который не выдает ошибку, но на самом деле ничего не делает.

Ответы [ 2 ]

5 голосов
/ 10 апреля 2011

Возможно, кнопка не «названа», как вы ожидаете.Проверьте UI Browser , чтобы просмотреть иерархию интерфейса приложения для использования со сценариями GUI.

Кнопка «Обновить» доступна с:

click button "Reload"  of UI element "ReloadUninstall[NAME OF EXTENSION HERE]" \
  of UI element 1 of scroll area 1 of window "Extension Builder"
2 голосов
/ 16 июня 2016

Расширение иерархии представления браузера, похоже, изменилось с момента написания принятого ответа.Этот скрипт работает для меня:

tell application "System Events"
    tell process "Safari"
         click button "Reload" of UI element 0 of window "Extension Builder"
    end tell
end tell

Обратите внимание, что Safari и окно Extension Builder должны быть открыты, чтобы это работало

...