MacOS Sierra - как включить "Разрешить удаленную автоматизацию" с помощью командной строки

Я работаю над средствами автоматизации в macOS Sierra (10.12.2). Используя поддержку python atomac, я могу запустить браузер Safari и активировать настройки через Safari → Preferences → Advanced → check "enable Develop Menu", а затем выбрать "Develop → Allow Remote Automation". Похоже, это не так согласовано для перспективы автоматизации. Я хотел бы знать, есть ли какая-либо команда оболочки, чтобы сделать это возможным.

Разрешить экран удаленной автоматизации

Ответы

Ответ 1

Хм нормально, так как в моем комментарии:

Вы можете сделать defaults write com.apple.Safari IncludeDevelopMenu YES, чтобы активировать меню разработки через терминал. Вы можете заставить python выполнить эту команду для вас, используя модуль этим вопросом кажется, что раньше можно было просто сделать defaults write com.apple.Safari AllowRemoteAutomation 1. Однако, поскольку Safari 10 этот вариант, по-видимому, подвергся более высокому протоколу безопасности или чему-то (возможно, из-за введенной защиты целостности системы). Я искал plistfile, который теперь поддерживает настройки, но я не смог его найти. Может быть, он даже не существует в реальном plistfile.

Я думаю, это оставляет вас с двумя вариантами:

Ответ 2

Я нашел ответ от: https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari

safaridriver --enable

Я проверил, что это работает с Mojave и Safari 12.0.3, и убедился, что это работает независимо от того, включено ли меню "Разработка", хотя вы, вероятно, хотите сэкономить на кликах и просто включить это тоже:

defaults write com.apple.Safari IncludeDevelopMenu 1