大家好,我在选择动态生成的按钮(删除按钮)时遇到了困难。所有删除按钮都具有相同的 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 ']/following-sibling::/td[3]/input' 无法评估或不会导致一个 WebElement(警告:服务器没有提供任何堆栈跟踪信息)”
我的 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();
它只会点击第一个删除按钮(第一行)。