Estoy tratando de escribir un método que espera a que un elemento en una página web para aparecer antes de continuar, este código funciona cuando no se coloca en un método, pero no puede aparecer para colocarlo en uno sin obtener el error de arriba
on waitForId(idText)
set var to false
set idText to "\"" & idText & "\""
repeat until var is true
tell application "Safari"
set var to (do JavaScript "document.contains(document.getElementById(idText));") in current tab of first window
end tell
delay 0.2
end repeat
return true
end waitForId
tell application "Safari"
global var
set var to false
if not (exists document 1) then reopen
tell current tab of window 1 to set URL to "https://www.google.com/?client=safari#channel=mac_bm"
tell current tab to activate
log "starting wait"
my waitForId("hplogo")
log "done waiting"
end tell
El "hplogo" es una señal de google para pruebas. Cuando se ejecuta:
error "The variable var is not defined." number -2753 from "var"
0 votos
Sí global va a través de múltiples ejecuciones por lo que no quieren que, la var era indefinido debido a la finalización ) estaba haciendo var conjunto a (cosas javascript) + en la pestaña actual en lugar de incluir que en el comando JS