selenium和Java - 查找没有id / name的元素

时间:2018-01-12 09:22:20

标签: java selenium-webdriver

我有以下一段HTML代码:

<td>
<p>
<button class="btn btn-default" onclick="collapseYearByBrand('XY')" type="button">
<span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
XYZ
</button>
</p>
2018
</td>

如何在Selenium Firefox webdriver(java)中找到该按钮? 没有id或名称,所以我希望有一个可行的解决方案是通过xpath或cssSelector找到它。

我是java的新手。我会非常感谢任何建议。

3 个答案:

答案 0 :(得分:1)

通过cssSelector - driver.findElement(By.className("btn.btn-default"))

xPath - driver.findElement(By.xpath("//td/p/button"))

答案 1 :(得分:1)

  

我希望有一个可行的解决方案是通过xpath或cssSelector找到它。

你的假设正确,使用cssSelector:

driver.findElement(By.cssSelector("button.btn.btn-default"));

答案 2 :(得分:0)

对于面临相同问题的任何人,都可以使用相对xpath。

(By.xpath("//button[contains(@class,'btn btn-default')]")

请务必确保,相对xpath上没有其他适合的WebElement。否则,找到所有WebElement并按索引获取所需的WebElement。