如何找到唯一代码的相对x路径?

时间:2017-02-21 13:11:44

标签: java xml selenium automation appium

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

enter image description here

我需要点击所有按钮。

我做的是 -

    List<WebElement> buttons = driver.findElements(By.xpath("//img[(@src='/PHYLINSPortlet/images/override-0.gif')]"));
    for( WebElement button : buttons ) {
        button.click();
    }

1 个答案:

答案 0 :(得分:0)

由于您尚未共享HTML,因此提供正确的问题解决方案有点困难。

当我观察问题中的图像时。您有3种相同类型的图片,想要点击任何特定图片,请说出SECOND图像,然后您需要使用xpathfollowing-siblingpreceding-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']