我正在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"> (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