使用 Excel VBA 和 SeleniumBasic 的 Web 自动化。我无法访问我找到的值

Web Automation using Excel VBA with SeleniumBasic. I cannot access the values I have found

我正在尝试加载我通过 WDrv.FindElementsByXPath("//*[@id='divMessageLines']/div") 找到的消息,但我不知道如何访问我找到的 individual 值。每次搜索都有未知数量的值。

HTML 段是:

在此示例中,如果我执行 .count,我将有 2 个匹配元素:

Dim cntr As Integer
cntr = WDrv.FindElementsByXPath("//*[@id='divMessageLines']/div").Count
‘cntr = 2

我可以使用 div1 和 div[2] 访问这两个值中的每一个。这很好,但不会总是有两个值:

cntr = WDrv.FindElementsByXPath("//*[@id='divMessageLines']/div[1]").Count
‘cntr = 1

如果我可以使用变量,我就可以遍历所有元素。但它似乎并不喜欢那样。 如果我可以用 div[i] 替换 div1 和 div[2] 就好了,但是,当我尝试这个时, cntr总是等于 0,所以我认为它不起作用:

Cntr = WDrv.FindElementsByXPath("//*[@id='divMessageLines']/div[i]").Count
‘cntr = 0

我有这个,但它什么都不做并停止了 运行 程序(没有错误消息):

Dim div As TableElement
Set div = WDrv.FindElementsByXPath("//*[@id='divMessageLines']/div")

所以,我不确定如何访问 individual 元素,有什么办法吗?

怎么样

Dim itm

For Each itm in WDrv.FindElementsByXPath("//*[@id='divMessageLines']/div")
    'do something with itm
    Debug.Print itm.Text ' for example
Next itm