我正在 macOS Sierra (10.12.2) 中开发自动化的东西。通过使用 python 的 atomac 支持,我可以启动 safari 浏览器并通过 Safari -> Preferences -> Advanced -> 选中“启用开发菜单”,然后选择“开发 -> 允许远程自动化”启用设置。从自动化的角度来看,这似乎不太一致。我想知道是否有任何 shell 命令可以实现这一点。
问问题
15803 次
2 回答
9
嗯好的,所以根据我的评论:
您可以defaults write com.apple.Safari IncludeDevelopMenu YES
通过终端激活开发菜单。您可以使用subprocess 模块让 python 为您执行此命令。
根据this这个问题似乎可以简单地做到这一点defaults write com.apple.Safari AllowRemoteAutomation 1
。然而,自从 Safari 10 以来,这个选项显然受到了更高的安全协议或其他东西的约束(可能是因为引入了系统完整性保护)。我一直在寻找现在保存该设置的 plistfile,但我一直无法找到它。也许它甚至不再存在于实际的 plistfile 中。
我想这给你留下了两个选择:
- 使用苹果的 osascript 来模拟所需的鼠标点击。
- 在AskDifferent或Apple 自己的开发者论坛上重新发布您的问题,因为您更有可能找到对 macOS 有深入了解的人。
于 2017-03-21T06:23:48.057 回答
2
我从以下位置找到了答案:https ://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari
safaridriver --enable
它会提示输入管理员密码,因此有些人设置无密码 sudo(危险)或执行其他解决方法,例如从 Applescript 调用
我测试了它是否适用于 Mojave 和 Safari 12.0.3 并验证它是否适用于开发菜单是否启用,尽管您可能希望自己保存点击并启用它:
defaults write com.apple.Safari IncludeDevelopMenu 1
于 2019-04-02T20:58:41.397 回答