Il seguente applescript attende il caricamento di una pagina prima di continuare con la parte do javascript "document.body.innerText"
dello script. Sembra funzionare molto bene, tranne che per una cosa. Se Safari è in esecuzione ma al momento non è aperta alcuna finestra, l'esecuzione di questo script risulta
error "Safari got an error: Connection is invalid." number -609
Tuttavia, se eseguo questo quando Safari è chiuso, avvia Safari, passa all'URL specificato e, una volta caricata la pagina, esegue la parte javascript. Non capisco perché riceve un errore se Safari è in esecuzione senza finestre aperte.
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
L'errore evidenzia sempre la parte source as text
dello script. Ho provato a cambiare length of (source as text) is not 0
a repeat until name is "example domain"
ma l'errore si verifica ancora se nessuna finestra è aperta e Safari è in esecuzione.