我想在 VBA 中使用 CallByName 从此类网页中读取特定数据。这些网页具有不同的 html 结构。就我而言,有一个元素需要引用 2 或 3 个父节点并获取带有 or 标记的元素。见代码:
我命名的所有网页中的元素MyElem
在一个网页中,我需要以下代码:
MsgBox MyElem.parentElement.parentElement.parentElement.getelementsbytagname("tr")(3).innertext
在另一个网页我需要这个代码:
MsgBox MyElem.parentElement.parentElement.getelementsbytagname("div")(2).innertext
等等 ...
我想用 VBA 编写如下:
Select Case Webpage
Case "webpage_1"
property ="parentElement.parentElement.parentElement.getelementsbytagname("tr")(3).innertext"
Case "webpage_2"
property = "parentElement.parentElement.getelementsbytagname("div")(2).innertext"
' and so on ...
End Select
MsgBox CallByName(MyElem, property, VbGet)
问题是 CallByName 不支持多级属性。我在这里阅读了类似的主题,但这对我的情况没有帮助。有什么想法吗?