我正在尝试使使用wfd-id标识html元素的网站自动化。由于此网站中的大多数html元素都使用wfd-id,因此,如果我可以将findelement与wfd-id一起使用,它将使我的程序更快。我试过使用driver.FindelementsbyId,但是没有用。我还尝试使用“ wfd-id”查找打印出属性,它也没有打印出任何内容。
任何帮助将不胜感激。
我实际上可以使用 FindElementsbyTag ,然后遍历集合以查找html文本,但是我注意到每个元素都有一个唯一的wfd-id,因此如果我可以找到该元素可能会更好通过wfd-id代替。
答案 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']"))