当我使用xpath
查找元素时出现问题。实际上有两个元素,例如bundle1
和bundle11
它将附加(数字资源)数字是dymamic。
在我使用的代码中,但bundle1
和bundle11
都得到了。在代码elementName
中,如果使用bundle1
,则bundle1
和bundle11
都将通过Xpath
。 text()
将是bundle11
(33个资源)或bundle11
(33个资源)
return this.viewPortElement.findElement(
By.xpath(".//table//td/div/div//span[span[startswith(text(),'"+elementName+"')]]")); }
有没有找到元素的方法?在网页中,相应的html
如下所示
<span title="bundle11 (33 Resources)">bundle1 (33 Resources)</span>
<span title="bundle11 (33 Resources)">bundle11 (33 Resources)</span>
答案 0 :(得分:0)
一种可能的方法是在数字后附加空格:
return this.viewPortElement
.findElement(
By.xpath(".//table//td/div/div//span[span[startswith(text(),'"
+elementName
+" ')]]"
//^notice white space added here
));
这样,给定elementName
变量赋值1
,您就可以匹配bundle1
而不会无意中匹配bundle11
。