document.getElementByID - vérifier si un élément a été trouvé ou pas
Voici un exemple de code, qui ouvre une fenêtre internet explorer, accède à google, et devient un élément sur la page par son numéro d'identification unique:
set ie = CreateObject("InternetExplorer.Application")
ie.navigate("www.google.com")
ie.visible = true
while ie.readystate <> 4
wscript.sleep 100
WEnd
set some_object = ie.document.getelementbyid("xjsc")
MsgBox some_object.tagname, 0
Cet exemple m'apporte un DIV
popup, qui me satisfait complètement.
Mais à la prochaine étape, je voudrais tester si l'id existe dans la page, ou pas. Malheureusement, je ne peux pas juste être, comme,
set some_object = ie.document.getelementbyid("some_non_existant_id")
if some_object.tagname = "" then
...
parce qu'il me donne l'erreur suivante:
ie.vbs(12, 1) Microsoft VBScript runtime error: Object required: 'some_object'
Alors, quelle est la meilleure pratique pour vérifier si un élément a été trouvé ou pas?
Vous devez vous connecter pour publier un commentaire.
si la variable contient un objet, puis elle a été trouvée ...
[mise à jour]
Après quelques essais et quelques commentaires, vous devez utiliser le
isNothing
méthode..puisque vous êtes en paramètre un objet, il sera toujours un objet de type variable, mais si il n'est pas trouvé, il est défini à rien ..
J'ai coché les cases ci-dessus avec votre exemple de code, et il fonctionne comme prévu..
en vbscript, il serait
true
pour moi dans les DEUX cas, même lorsque rien n'a été trouvée!isNull
(ou mêmeisEmpty
). Selon les spécifications, il renvoie la valeur null si rien n'est trouvé..D:\work\_tmp\ie.vbs(12, 1) Microsoft VBScript runtime error: Type mismatch: 'isnothing'
Par la voie, isNothing est un VB6 fonction, n'est-ce pas? Je n'ai pas trouvé dans VBScript refs.if some_object is nothing then