El siguiente applescript espera a que se cargue una página antes de continuar con el do javascript "document.body.innerText"
parte del script. Parece que funciona muy bien excepto por una cosa. Si Safari se está ejecutando pero no hay ninguna ventana abierta, la ejecución de este script da como resultado
error "Safari obtuvo un error: La conexión no es válida". número -609
Sin embargo, si ejecuto esto cuando Safari está cerrado, lanza Safari, va a la URL especificada y una vez que la página se carga, ejecuta la parte de javascript. No entiendo por qué se produce un error si Safari se ejecuta sin Windows abierto.
tell application "Safari"
activate
if not (exists document 1) then reopen
tell front document
set URL to "http://example.com"
repeat until length of (source as text) is not 0
delay 0.5
end repeat
do javascript "document.body.innerText"
end tell
end tell
El error siempre resalta el source as text
parte del script. He probado a cambiar length of (source as text) is not 0
a repeat until name is "example domain"
pero el error sigue produciéndose si no hay ninguna ventana abierta y Safari está funcionando.