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

问题描述 投票:19回答:2

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

Allow Remote Automation screen

python macos safari macos-sierra pyatom
2个回答
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
投票

我找到了答案: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
© www.soinside.com 2019 - 2024. All rights reserved.