document.getElementByID - 检查是否已找到元素

时间:2010-03-29 17:12:21

标签: html dom scripting vbscript

以下是一个示例代码,它打开一个Internet Explorer窗口,导航到google,并通过其唯一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

此示例为我带来DIV弹出窗口,完全满足我的要求。

但是在下一步我想检查页面中是否存在某个ID。不幸的是,我不能只是,像,

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

因为它给了我以下错误:

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

那么,检查元素是否被找到的最佳做法是什么?

1 个答案:

答案 0 :(得分:4)

if isObject(some_object) then 

如果变量包含一个对象,那么它就被发现......

<强> [更新] 经过一些测试和一些评论后,您需要使用isNothing方法..

因为你正在设置一个对象,所以它总是一个对象变量类型,但是如果找不到它,它将被设置为空...

if isNothing(some_object) then

我已使用您的示例代码检查了上述内容,并且按预期工作..

在vbscript术语中它将是

if some_object is nothing then