views:

180

answers:

1

Hi, guys.

Here's a sample code, that opens an internet explorer window, navigates to google, and gets some element on the page by its unique id:

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

This sample brings me a DIV popup, which satisfies me completely.

But at the next step I'd like to check whether some id exists in the page, or not. Unfortunately, I can't just be, like,

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

because it gives me the following error:

ie.vbs(12, 1) Microsoft VBScript runtime error: Object required: 'some_object'

So, what's the best practice to check whether an element has been found or not?

+2  A: 
Gaby
yeah, but it retruns `true` for me in BOTH cases, even when nothing was found!
be here now
@be here now, check out `isNull` (or even `isEmpty`). According to specs, it returns null if nothing is found..
Gaby
I did, they all seem to output false regardless the element has been found or not.
be here now
@be here now, ok updated my answer with the solution ..
Gaby
Things are getting weird.... `D:\work\_tmp\ie.vbs(12, 1) Microsoft VBScript runtime error: Type mismatch: 'isnothing'`By the way, isNothing is a VB6 function, isn't it? I havent found it in VBScript refs.
be here now
@be here now, you are right .. i was thinking in terms of vb.. vbscript equivalent is `if some_object is nothing then`
Gaby
great, thanks a lot
be here now