error "La variable var no está definida". Número -2753 de "var" en un método

0

Estoy tratando de escribir un método que espere a que aparezca un elemento en una página web antes de continuar. Este código funciona cuando no se coloca en un método, pero no puedo colocarlo en una sin obtener el error anterior

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 un signo de google para probar. Cuando se ejecuta:

error "The variable var is not defined." number -2753 from "var"
    
pregunta ben 30.06.2016 - 20:36

1 respuesta

1

lo resolví, un fuera de lugar) y concatenando el javascript para convertirlo en una pregunta tonta y variable.

on waitForId(idText)
set wait to false
set idText to "\"" & idText & "\""
repeat until wait is true
    tell application "Safari"
        set wait 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"
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
    
respondido por el ben 30.06.2016 - 20:56

Lea otras preguntas en las etiquetas