允许通过终端Mac在Safari中使用Apple事件中的JavaScript

时间:2016-06-14 03:52:49

标签: bash macos terminal safari preference

我正在编写一个在Safari中执行do javascript的程序。唯一的问题是我试图让应用程序自己允许这样做。我正在尝试找到处理Safari开发人员首选项的文件,以便我可以执行此操作。有没有人知道这可能是什么或如何更改这些设置?

2 个答案:

答案 0 :(得分:1)

虚拟键盘不适用于我。苹果公司develepoer论坛上的StarPlayr发现问题出在其他地方。 对我来说,当我尝试在远程Mac上执行此操作时出现问题。 对于某些将键盘和鼠标插入服务器的人来说,可以在Safari中打开JavaScript Apple Events并设置密码。

但是,对我来说这不是一个选择,因此,下一个最好的选择是使用可访问性脚本功能,并让计算机认为用户正在点击,从而允许您设置密码:

-延迟时间可能更短,坐标可能会变化

-获取坐标的最佳方法是使用Apple屏幕捕获(command-shift-3)从右上到左下(将显示坐标)

-如果花费时间,则可以通过将点击事件捕获为变量,或者检查事件并使用事件代替点击坐标来将点击事件转换为Accessibility AppleScript对象

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

答案 1 :(得分:0)

这是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