我正在研究macOS Sierra中的自动化东西(10.12.2)。通过使用python的atomac支持,我可以启动Safari浏览器并通过Safari启用设置 - >首选项 - >高级 - >选中“启用开发菜单”,然后选择“开发 - >允许远程自动化”。看起来这对于自动化角度来说并不是那么一致。我想知道是否有任何shell命令可以实现这一点。
嗯,好的,根据我的评论:
您可以通过终端激活defaults write com.apple.Safari IncludeDevelopMenu YES
来激活开发菜单。您可以使用subprocess module让python为您执行此命令。
根据这个this问题,似乎人们曾经能够简单地做defaults write com.apple.Safari AllowRemoteAutomation 1
。但是,自Safari 10以来,这个选项显然已经受到更高安全协议的影响(可能是因为引入了系统完整性保护)。我一直在寻找现在持有设置的plistfile,但我一直无法找到它。也许它甚至不再存在于实际的plistfile中了。
我想这给你留下了两个选择:
我找到了答案: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