0 votos

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

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

1voto

ben Puntos 11

Ya lo descubrí, un ) mal colocado y concatenando el javascript para convertirlo en variable, pregunta tonta.

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X