如何使用硒找到基于wfd-id的html元素?

时间:2018-11-09 15:31:28

标签: vba selenium selenium-webdriver

我正在尝试使使用wfd-id标识html元素的网站自动化。由于此网站中的大多数html元素都使用wfd-id,因此,如果我可以将findelement与wfd-id一起使用,它将使我的程序更快。我试过使用driver.FindelementsbyId,但是没有用。我还尝试使用“ wfd-id”查找打印出属性,它也没有打印出任何内容。

任何帮助将不胜感激。

enter image description here

我实际上可以使用 FindElementsbyTag ,然后遍历集合以查找html文本,但是我注意到每个元素都有一个唯一的wfd-id,因此如果我可以找到该元素可能会更好通过wfd-id代替。

3 个答案:

答案 0 :(得分:0)

您可以使用CSS并形成选择器,例如tag[wfd-id='foo']

例如。如果您有元素<div wfd-id="username">,则可以使用:

"div[wfd-id='username']"

答案 1 :(得分:0)

在提供HTML和现有代码之前很难说。

您可以使用CSS CSS选择器来匹配属性wfd-id,并通过.FindElementsByCss申请以返回WebElements的集合。然后,您可以使用.Text属性循环访问单个元素的内容。

Dim elems As WebElements, elem As WebElement
Set elems = bot.FindElementsByCss("[wfd-id]")
For Each elem In elems
    Debug.Print elem.Text
Next

答案 2 :(得分:0)

如果您确定其ID是唯一的,则可以在findelement中使用xpath;

driver.findelement(By.xpath("//*[@wdf-id='905']"))