如何在selenium webdriver中选择基于其他元素的元素

时间:2017-01-26 16:12:06

标签: java selenium selenium-webdriver

我刚接触硒自动化。

我有一个场景,我必须根据某个标题点击一个按钮。但是按钮元素对于所有行都看起来相同。 这是图像: enter image description here

这是同样的html -

<tr class="odd gradeX">
<td class="hide"></td>
<td>My sample Test</td>
<td> Priyank pareek </td>
<td style="width:50px;text-align:center;">01/11/2017</td>
<td style="width:50px;text-align:center;"> Approved </td>
<td style="width:50px;text-align:center;">
<td style="width:100px;">
<a class="btn btnReject red btn-sm btn-outline sbold uppercase" href="javascript:;" onclick="updateTest(this)" data-status="0" data-gui="6438C99F-E166-49DA-8B89-DD0E2EF33A62" title="Reject">
</td>
</tr>

如何点击拒绝按钮?请帮帮我

3 个答案:

答案 0 :(得分:2)

您可以在XPath下方使用

WebElement element = driver.findElement(By.xpath("//a[@title='Reject']"));

CSS选择器

WebElement element = driver.findElement(By.cssSelector("a[title='Reject']"));

如果这些选择器仍匹配多个元素,请尝试:

WebElement element = driver.findElement(By.xpath("//tr[td[text()='My sample Test']]//a[@title='Reject']"));

答案 1 :(得分:0)

尝试使用以下xpath -

进行定位
//td[text()='My sample Test']/following-sibling::td/a[@title='Reject']

说明: -

找到td标记,其中包含文字为&#39;我的样本测试&#39; following-sibling用于导航具有拒绝按钮的兄弟姐妹

答案 2 :(得分:0)

您可以使用班级名称btnReject进行搜索。在Python中,我通常使用driver.getElementByClassName("btnReject").click()。您可以将它们更改为Java以供使用。