这是一个示例代码,它打开一个 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'
那么,检查是否找到元素的最佳做法是什么?
最佳答案
if isObject(some_object) then
如果变量持有一个对象那么它被发现......
[更新]
经过一些测试和评论后,您需要使用 isNothing
方法..
因为你正在设置一个对象,所以它总是一个对象变量类型,但如果找不到它,它就会被设置为空..
if isNothing(some_object) then
我已经用你的示例代码检查了上面的内容,它按预期工作了..
用 vbscript 术语来说就是
if some_object is nothing then
关于html - document.getElementByID - 检查是否找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2539838/