3个匹配的节点..所有都有相同的源代码..因此失败//img[(@src='/PHYLINSPortlet/images/override-0.gif')]
<img id="_PHYLINSPortlet_WAR_PHYLINSPortlet_INSTANCE_o3P5_:form_PolicyContent_UI2:Messages:0:j_id1885:0:j_id897" class="null" alt="" src="/PHYLINSPortlet/images/override-0.gif" style="border:0px"/>
这是动态按钮的xpath
:
我需要点击所有按钮。
我做的是 -
List<WebElement> buttons = driver.findElements(By.xpath("//img[(@src='/PHYLINSPortlet/images/override-0.gif')]"));
for( WebElement button : buttons ) {
button.click();
}
答案 0 :(得分:0)
由于您尚未共享HTML,因此提供正确的问题解决方案有点困难。
当我观察问题中的图像时。您有3种相同类型的图片,想要点击任何特定图片,请说出SECOND图像,然后您需要使用xpath
或following-sibling
等preceding-sibling
方法制作xpath
独特
示例: -
假设您的表中有任何唯一列(规则ID),或者您想要单击特定图像。规则ID Val01014
图片
使用以下xpath
-
//img[@src='/PHYLINSPortlet/images/override-0.gif']/preceding-sibling::td[text()='Val_01014']
OR
//img[@src='/PHYLINSPortlet/images/override-0.gif']/following-sibling::td[text()='Val_01014']