こんにちは、動的に生成されたボタン (ボタンの削除) を選択する際に問題に直面しています。すべての削除ボタンの ID は同じです。Lync - user Access の xpath を取得して削除ボタンをクリックするにはどうすればよいですか?
テーブルに 3 つの列と 2 つの行があります。2行目にあるボタンをクリックしたい。
xpath軸で試してみましたが、コードは次のようになります:driver.findElement(By.xpath("//a[.='PC/E - Home Branch View ']/following-sibling::/td[3]/input")).click();
しかし、エラーがスローされます:
"org.openqa.selenium.InvalidSelectorException: The xpath expression '//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>
削除ボタンをクリックしたい(2行目)。同じ行の要素のIDまたはXpathで参照して、削除ボタンをクリックする方法を教えてください。
PS:コードを実行するとdriver.findElement(By.xpath("//input[@name='removeDiscRole']")).click();
最初の削除ボタン (1 行目) をクリックするだけです。