我想在下面的HTML代码中找到文本,但是有两个重复的类。
<div id="header" class="cf">
<div class="cf">
<h1>
<a href="/">Text</a>
</h1>
我找到了,但不确定这是否是最好的方法,因为文本可能会出现在其他地方。
WebElement LL = driver.findElement(By.linkText("Text"));
有人有更好的方法来定位这个吗?提前感谢!
按照下面的css更精确地标识元素。并且,id header
应该是唯一的这应该足以唯一标识这个元素
By css = By.cssSelector("#header div.cf>h1>a");
WebElement element = driver.findElement(css );
String text = element.getText();
您可以使用xpath作为选择器,然后使用WebElements getText()
方法提取文本。
WebElement element = driver.findElement(By.xpath(".//div[@class='cf']/h1/a"));
String text = element.getText();