macOS Sierra: cómo habilitar “Permitir la automatización remota” mediante la línea de comandos

Estoy trabajando en una automatización en macOS Sierra (10.12.2). Al utilizar el soporte atomac de python, puedo iniciar el navegador de safari y hacer que las configuraciones estén habilitadas a través de Safari -> Preferencias -> Avanzadas -> marcar “habilitar el menú de desarrollo” y luego seleccionar “Desarrollar -> Permitir automatización remota”. Parece que esto no es tan consistente para la perspectiva de automatización. Me gustaría saber si hay algún comando de shell para hacer esto posible.

Permitir la pantalla de automatización remota

Hmm ok, así que por mi comentario:

Puede hacer que los defaults write com.apple.Safari IncludeDevelopMenu YES para activar el menú de desarrollo a través de la terminal. Podría hacer que Python ejecute este comando por usted utilizando el módulo de subproceso .

De acuerdo con esto, parece que uno solía ser capaz de simplemente hacer defaults write com.apple.Safari AllowRemoteAutomation 1 . Sin embargo, desde Safari 10, esta opción aparentemente ha estado sujeta a un protocolo de seguridad más alto o algo así (quizás debido a la protección de integridad del sistema que se introdujo). He estado buscando el archivo de archivo que ahora contiene la configuración, pero no he podido encontrarlo. Tal vez ya ni siquiera está allí en un archivo de archivo real.

Supongo que esto te deja con 2 opciones:

  1. Use el osascript de Apple para simular los mouseclicks necesarios.
  2. Vuelva a publicar su pregunta en AskDifferent o en el foro de desarrolladores de Apple , ya que es más probable que encuentre a alguien con un conocimiento profundo de macOS.

Encontré la respuesta en: https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari

 safaridriver --enable 

Se le pedirá una contraseña de administrador, por lo que algunas personas configuran sudo sin contraseña (peligroso) o hacen otra solución como llamar desde un Applescript

Probé que esto funciona con Mojave y Safari 12.0.3 y verifiqué que funciona independientemente de si el menú Desarrollar está habilitado, aunque es probable que desee guardar los clics y habilitarlo también:

 defaults write com.apple.Safari IncludeDevelopMenu 1