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

问题描述 投票:-1回答:3

我有以下一段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的新手。我会非常感谢任何建议。

java selenium-webdriver
3个回答
1
投票

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

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


1
投票

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

你的假设正确,使用cssSelector:

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

0
投票

对于任何遇到相同问题的人,可以使用相对xpath。

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

只需确保,相对xpath上没有其他WebElements。否则找到所有WebElements并通过索引获得所需的WebElements。

© www.soinside.com 2019 - 2024. All rights reserved.