我目前正在使用 java/selenium webdriver 自动化。但是我被困在这个特定的部分,我无法让 webdriver 根据一个值单击复选框。
driver.findElement(By.xpath("//input[@class='chkPopupCod']/following::td[contains(text(),'BBB')]")).click();
当我没有使用 xpath 的 Axes 部分时它可以工作,但是它只能选择第一个复选框
下面是html的一个片段
<tr class="even">
<td style="width: 20px;">
<input class="chkPopupCod" type="checkbox">codData=Object { id=101914, codId=101906, label="AAA", more...}
</td>
<td class="" align="left">AAA</td>
</tr>
<tr class="odd">
<td style="width: 20px;">
<input class="chkPopupCod" type="checkbox" style="background-color: rgb(255, 255, 255);">codData=Object { id=101918, codId=101907, label="BBB", more...}
</td>
<td class="" align="left" style="background-color: transparent;">BBB</td>
</tr>
<tr class="even">
<td style="width: 20px;">
<input class="chkPopupCod" type="checkbox">codData=Object { id=101922, codId=101908, label="CCC", more...}
</td>
<td class="" align="left">CCC</td>
</tr>