3 votes

document.getElementByID - vérifier si un élément a été trouvé ou non

Voici un exemple de code, qui ouvre une fenêtre d'Internet Explorer, navigue vers Google, et récupère un élément de la page par son identifiant 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 échantillon m'apporte un DIV popup, ce qui me satisfait pleinement.

Mais à l'étape suivante, j'aimerais vérifier si un identifiant existe ou non dans la page. Malheureusement, je ne peux pas juste être, comme,

set some_object = ie.document.getelementbyid("some_non_existant_id")
if some_object.tagname = "" then
...

car cela 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 non ?

5voto

Gaby aka G. Petrioli Points 85891
if isObject(some_object) then 

si la variable contient un objet, alors il a été trouvé ...

[mise à jour] Après quelques tests et quelques commentaires, vous devez utiliser la fonction isNothing la méthode..

puisque vous définissez un objet, il s'agira toujours d'une variable de type objet, mais si elle n'est pas trouvée, elle sera mise à zéro

if isNothing(some_object) then

J'ai vérifié ce qui précède avec votre exemple de code, et cela fonctionne comme prévu

en termes de vbscript, ce serait

if some_object is nothing then

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X