J'essaie d'écrire une méthode qui attend qu'un élément d'une page web apparaisse avant de continuer, ce code fonctionne lorsqu'il n'est pas placé dans une méthode mais je ne peux pas le placer dans une méthode sans obtenir l'erreur ci-dessus.
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
Le "hplogo" est un signe de Google pour les tests. Lors de l'exécution :
error "The variable var is not defined." number -2753 from "var"