我有以下一段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的新手。我会非常感谢任何建议。
通过cssSelector - driver.findElement(By.className("btn.btn-default"))
通过xPath - driver.findElement(By.xpath("//td/p/button"))
我希望一个有效的解决方案是通过xpath或cssSelector找到它。
你的假设正确,使用cssSelector:
driver.findElement(By.cssSelector("button.btn.btn-default"));
对于任何遇到相同问题的人,可以使用相对xpath。
(By.xpath("//button[contains(@class,'btn btn-default')]")
只需确保,相对xpath上没有其他WebElements。否则找到所有WebElements并通过索引获得所需的WebElements。