文本位于
<h2>
标签中,而不是 <span>
标签中。尝试一下
driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText();
有两种方法可以做到这一点,
1)
driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText();
2)从两者中获取文本,然后将其连接起来,就像
String firstblock = driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText();
String secondblock = driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2/span")).getText();
String finaltext= firstblock+secondblock;
查看 HTML 标签
<span>Folder:</span>
/span 表示这是范围的末尾,因此如果您使用范围作为标识符,那么它将仅返回文件夹。
span的父元素是h2标签。因此,要获取 h2 和 /h2 标签之间的所有内容,您需要执行此操作 -
driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2")).getText();
从
span
属性获取文本时,我遇到了非常类似的问题。解决方案是像这样使用 .getAttribute("value")
:
driver.findElement(By.xpath(".//*[@id='iselmf-folder-detail']/h2/span")).getAttribute("value");
**String org.openqa.selenium.WebElement.getAttribute(String name)**