VBA Selenium-返回具有特定属性的所有元素



我正在Excel VBA中使用Selenium来抓取一些网站。我希望在网页上找到所有元素,这些元素看起来与下面的片段相似:

<div class="outcomeName_f18x6kvm" data-automation-id="racecard-outcome-name"><span class="size14_f7opyze Endeavour_fhudrb0 medium_f1wf24vo">1. The Running Man</span><span class="size11_fwt0xu4 Endeavour_fhudrb0 light_f2noysy">&nbsp;(5)</span></div>

特别是,我希望找到所有包含属性data-automation-id的元素,然后按具有racecard-outcome-name作为该属性的元素进行筛选,但一旦我可以返回具有该属性的所有元素,这应该很容易。

目前我正在使用类似的东西

table = bot.FindElementsBy.Attribute("data-automation-id")但我知道这是对这个运算符的错误使用。如果你能给我指正确的方向,请告诉我。

感谢QHarr提供的有益评论。我最终实现了以下解决方案,以查找data-automation-id标记为racecard-outcome-name的元素:

Set table = bot.FindElementsByCss("[data-automation-id]")

Dim i As Integer, tableCount As Integer
tableCount = table.count
For i = 1 To table.count
If table(i).Attribute("data-automation-id") = "racecard-outcome-name" Then
MsgBox table(i).Text
End If
Next i

最新更新