Разрешить JavaScript из событий Apple в Safari через терминал Mac

Я пишу программу, которая выполняет do javascript в сафари. Единственная проблема в том, что я пытаюсь заставить приложение дать себе разрешение на это. Я пытаюсь найти файл, который обрабатывает настройки Safari для разработчиков, чтобы я мог это сделать. У кого-нибудь есть идеи, где это может быть или как изменить эти настройки?

1 ответ

Это в списке предпочтений Safari на ~/Library/Preferences/com.apple.Safari.plist, Ключ, который вы хотите AllowJavaScriptFromAppleEvents, Вы можете установить его, используя defaults:

#to turn it on
defaults write -app Safari AllowJavaScriptFromAppleEvents 1
#to turn it off
defaults write -app Safari AllowJavaScriptFromAppleEvents 0

У меня не работала виртуальная клавиатура. Как выяснил StarPlayr на форуме разработчиков Apple, проблема в другом. Для меня проблема возникла, когда я пытался сделать это на удаленном Mac. Для некоторых людей подключение клавиатуры и мыши к Серверу позволило включить JavaScript Apple Events в Safari и установить пароль.

Тем не менее, для меня это не вариант, поэтому следующая лучшая вещь - это использовать функцию сценариев доступности и заставить компьютер думать, что пользователь делает щелчки, позволяя вам установить пароль:

- Задержки могут быть короче, координаты могут отличаться

- Лучший способ получить координаты - захват экрана Apple (command-shift-3) сверху справа внизу слева (координаты будут показаны)

- если тратить время, события щелчка могут быть преобразованы в объекты AppleScript Accessibility путем захвата их в качестве переменных или проверки событий и использования событий вместо координат щелчка

tell application "System Events"


  tell application "Safari"

       activate

  end tell


  delay 1

-- click develop menu (make sure its on first)

  click at {430, 12}


  delay 1


-- click Allow Javascript menu from Apple Events

  click at {615, 615}


  delay 1


-- Click the Allow Button

  click at {1010, 386}

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