erro “A variável var não está definida.” número -2753 de “var” em um método

0

Estou tentando escrever um método que aguarde a exibição de um elemento em uma página da Web antes de continuar. Esse código funciona quando não é colocado em um método, mas não consigo colocá-lo em um sem obter o erro acima.

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

O "hplogo" é um sinal do Google para teste. Quando executado:

error "The variable var is not defined." number -2753 from "var"
ben
fonte
sim mundial atravessa várias execuções por isso não quero isso, a var era indefinida por causa do término) estava fazendo set var a (javascript coisas) + na guia atual em vez de incluir que no comando JS
ben

Respostas:

1

descobri, um extraviado) e concatenar o javascript para torná-lo uma pergunta boba e variável.

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
ben
fonte