【发布时间】:2020-11-01 03:57:39
【问题描述】:
我有通过点击elementId 浏览网页的 VBA 代码。
当找到elementId 时,它会提供所需的结果。
我的问题是,没有找到elementId时没有错误提示。代码一直持续到最后。
例如代码:
Ie.visible = True
Ie.navigate "www.abc.com"
Ie.document.getElementbyId("btk").click
在这里,我尝试点击按钮btk。
但该按钮在网页上不可用。
我原以为我的代码会崩溃,但它会一直持续到最后。
代码中没有使用错误处理。
【问题讨论】:
-
你需要遍历所有对象并测试
btk的id。如果找到,请点击它,如果没有,请执行其他操作。 -
如果需要,您能否帮我完善代码,这是我根据您的建议编写的 ``` Dim htmla as mshtml.ihtmlelement Dim htmlas as mshtml.ihtmlelementcollection For each htmla in htmlas If htmla .getattribute(“id”) = “btk” 然后 Htmla.click Exit for Else exit sub Next htmla ``
-
如果您将该代码放在实际问题中会更好。在 cmets 中阅读代码非常困难。但是,如果 id 与“btk”不匹配,您似乎正在退出 sub。如果 id 不是“btk”,那肯定会在第一个元素上失败。只需完全删除
Else exit sub。
标签: vba internet-explorer web-scraping runtime-error