macOS Sierra - 如何使用命令行启用“允许远程自动化”

时间:2017-01-13 07:41:03

标签: python macos safari macos-sierra pyatom

我正在研究macOS Sierra中的自动化内容(10.12.2)。通过使用python的atomac支持,我可以启动Safari浏览器并通过Safari启用设置 - >偏好 - >高级 - >选中“启用开发菜单”,然后选择“开发 - >允许远程自动化”。看起来这对于自动化角度来说并不是那么一致。我想知道是否有任何shell命令可以实现这一点。

Allow Remote Automation screen

2 个答案:

答案 0 :(得分:6)

嗯,好的,按照我的评论:

您可以defaults write com.apple.Safari IncludeDevelopMenu YES通过终端激活开发菜单。您可以使用subprocess module让python为您执行此命令。

根据这个this问题,人们似乎只能做defaults write com.apple.Safari AllowRemoteAutomation 1。但是,自Safari 10以来,这个选项显然已经受到更高安全协议的影响(可能是因为引入了系统完整性保护)。我一直在寻找现在持有设置的plistfile,但我一直无法找到它。也许它不再存在于实际的plistfile中了。

我想这会给你留下两个选择:

  1. 使用apple的osascript模拟所需的鼠标点击。
  2. AskDifferentApple's own developers forum上重新发布您的问题,因为您更有可能找到对macOS有深入了解的人。

答案 1 :(得分:-1)

我从https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari

找到了答案
safaridriver --enable

它会提示您输入管理员密码,因此有些人setup passwordless sudo(危险)或do another workaround like calling from an Applescript

我测试了它可以与Mojave和Safari 12.0.3一起使用,并验证了它是否可以工作,无论是否启用了“开发”菜单,尽管您可能想保存自己的点击次数,也只需启用它即可:

defaults write com.apple.Safari IncludeDevelopMenu 1