嗨,我正面临着动态生成按钮(删除按钮)的困难。 所有删除按钮具有相同的ID。如何通过使用Lync的xpath - 用户访问?
来单击删除按钮我在表格中有3列和2行。我想点击第二行的按钮。
我试过xpath轴,我的代码看起来像这样
:driver.findElement(By.xpath("//a[.='PC/E - Home Branch View ']/following-sibling::/td[3]/input")).click();
但这是一个错误:
“org.openqa.selenium.InvalidSelectorException:xpath表达式 '//a[.='PC/E - Home Branch View'] / follow-sibling :: / td [3] / input' 无法评估或不在WebElement中进行评估(警告:The 服务器没有提供任何堆栈跟踪信息)“
我的HTML代码如下所示:
<TR>
<TD id="Lync - User Access" class="profileInnerTable">
<A style="CURSOR: hand" class="TabLink" onmouseover="ddrivetip1('Default for CBA users not in RBS Branches','lightyellow',250)" onmouseout="hideddrivetip"() ;>Lync - User Access </A>
</TD>
<TD class="profileInnerTable" align="middle"> </TD>
<TD class="profileInnerTable">
<INPUT style="WIDTH: 100px; HEIGHT: 20px" tabIndex="0" onclick="processRemoveRoleFromDN(form, 'erglobalid=7178977152403244193,ou=roles,erglobalid=00000000000000000000,ou=CBA,dc=com');" value="Remove" type="button" name="removeDiscRole">
</TD>
</TR>
<TR>
<TD id="PC/E - Home Branch View " class="profileInnerTable">
<A style="CURSOR: hand" class="TabLink" onmouseover="ddrivetip1('PC/E access to user\'s Home Branch only - For RBS Branch Users','lightyellow',250)" onmouseout="hideddrivetip"() ;>PC/E - Home Branch View </A>
</TD>
<TD class="profileInnerTable" align="middle"> </TD>
<TD class="profileInnerTable">
<INPUT style="WIDTH: 100px; HEIGHT: 20px" tabIndex="0" onclick="processRemoveRoleFromDN(form, 'erglobalid=3113620533928290009,ou=roles,erglobalid=00000000000000000000,ou=CBA,dc=com');" value="Remove" type="button" name="removeDiscRole">
</TD>
</TR>
我想点击删除按钮(在第二行)。 任何人都可以建议我如何通过参考同一行中元素的ID或Xpath来点击删除按钮?
PS:如果我执行代码driver.findElement(By.xpath("//input[@name='removeDiscRole']")).click();
它只会点击第一个删除按钮(第一行)。
答案 0 :(得分:2)
我认为这个xpath会起作用。
*
// td [@id ='PC / E - Home Branch View'] // follow-sibling :: td // input
*
您开始使用的'a'标签没有任何兄弟姐妹。 'td'标签不在同一级别。它们是一个级别,因为'a'标记嵌套在'td'标记
中答案 1 :(得分:1)
问:我想点击删除按钮(在第二行)
尝试使用第二行中的“removeDiscRole”按钮:
//tr[2]//input[@name='removeDiscRole']"
或"(//input[@name='removeDiscRole'])[2]"
为所有
问:如何通过引用同一行中元素的ID或Xpath来点击删除按钮。
"//tr[td[@id = 'PC/E - Home Branch View ']]//input[@name='removeDiscRole']"