Excel VBA忽略错误

Excel VBA忽略错误,vba,excel,web-scraping,Vba,Excel,Web Scraping,我试图从网站上获取数据 我用来获取数据的代码是: des = Trim(Doc.getElementById("description-full").innerText) 但有时网站上只能提供简短的描述,而不是完整的描述,即 des = Trim(Doc.getElementById("description-short").innerText) 只有在“完整说明”不可用时,我才需要产品的“简短”说明您可以尝试以下方法: On Error Resume Next des = Trim(Doc

我试图从网站上获取数据

我用来获取数据的代码是:

des = Trim(Doc.getElementById("description-full").innerText)
但有时网站上只能提供简短的描述,而不是完整的描述,即

des = Trim(Doc.getElementById("description-short").innerText)

只有在“完整说明”不可用时,我才需要产品的“简短”说明

您可以尝试以下方法:

On Error Resume Next
des = Trim(Doc.getElementById("description-full").innerText)

If des = "" Then
    des = Trim(Doc.getElementById("description-short").innerText)
End if

您可以尝试以下方法:

On Error Resume Next
des = Trim(Doc.getElementById("description-full").innerText)

If des = "" Then
    des = Trim(Doc.getElementById("description-short").innerText)
End if

这不正是OP所要求的吗?这将在des中存储完整的描述,然后如果内容不是空的,它将用short覆盖它。
应该被
=
替换吗?这不是OP要求的相反吗?这将在des中存储完整的描述,然后如果内容不是空的,它将用short覆盖它。是否应将
替换为
=
?您在这方面没有处理错误,顺便说一句,我是初学者,我从您那里“什么也学不到”,这对我的其他VBA非常有帮助。作为初学者,您应该了解,在错误恢复下一步时使用
处理错误并不是最好的方法。尝试检查页面上是否存在该元素。这个想法是:元素存在吗?如果是,请在其上调用
innerText
。如果没有,那就什么都不要做。因为我们怎么能对根本不存在的元素做点什么呢。。。当然我们不能。再次感谢你,当我说我从你那里学不到“什么”时,这意味着我从你那里学不到“什么”标签:)你没有处理这方面的错误,顺便说一句,我是初学者,我从你那里学不到“什么”,这对我的其他VBA很有帮助。作为初学者,你应该知道,在错误恢复下一步使用
处理错误并不是最好的方法。尝试检查页面上是否存在该元素。这个想法是:元素存在吗?如果是,请在其上调用
innerText
。如果没有,那就什么都不要做。因为我们怎么能对根本不存在的元素做点什么呢。。。当然我们不能。再次感谢你,当我说我从你那里什么也学不到时,那意味着我从你那里什么也学不到:)