以下是一个示例代码,它打开一个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'
那么,检查元素是否被找到的最佳做法是什么?
答案 0 :(得分:4)
if isObject(some_object) then
如果变量包含一个对象,那么它就被发现......
<强> [更新] 强>
经过一些测试和一些评论后,您需要使用isNothing
方法..
因为你正在设置一个对象,所以它总是一个对象变量类型,但是如果找不到它,它将被设置为空...
if isNothing(some_object) then
我已使用您的示例代码检查了上述内容,并且按预期工作..
在vbscript术语中它将是
if some_object is nothing then