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

Kir*_*tev 3 html vbscript scripting dom

这是一个示例代码,它打开一个 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
Run Code Online (Sandbox Code Playgroud)

这个示例给我带来了一个DIV弹出窗口,我完全满意。

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

set some_object = ie.document.getelementbyid("some_non_existant_id")
if some_object.tagname = "" then
...
Run Code Online (Sandbox Code Playgroud)

因为它给了我以下错误:

ie.vbs(12, 1) Microsoft VBScript runtime error: Object required: 'some_object'
Run Code Online (Sandbox Code Playgroud)

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

Gab*_*oli 5

if isObject(some_object) then 
Run Code Online (Sandbox Code Playgroud)

如果变量包含一个对象,那么它被找到了......

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

因为你正在设置一个对象,它总是一个对象变量类型,但如果没有找到它就设置为空......

if isNothing(some_object) then
Run Code Online (Sandbox Code Playgroud)

我已经用你的示例代码检查了上面的内容,它按预期工作..

用 vbscript 术语来说就是

if some_object is nothing then
Run Code Online (Sandbox Code Playgroud)