Selenium java 无法获取 html 文本

Selenium java can't get html text

我有这个 HTML 代码:

<span id="slotTotal">
    <span id="slotUsed">4</span>
          /16
</span>

我想获取文本 /16 但是当我尝试时:

slotTot = driver.findElement(By.xpath("//*[@id='slotTotal']")).getText();

我得到这个异常: org.openqa.selenium.InvalidSelectorException: 尝试定位元素时无效的选择器

我该如何解决? (如果我得到 4/16 也很好...)在此先感谢

获取SlotUsed的文本

String slotUsed= driver.findElement(By.xpath("//span[@id='slotUsed']")).gettext();
System.out.println("Value of used slot"+slotUsed);

获取小计(小计是第一个跨度元素的一部分)

  String total=driver.findElement(By.xpath(".//span[@id='slotTotal']")).getText();
  System.out.println("Total"+total);
String slotTot = driver.findElement(By.xpath("//span[normalize-space(@id='slotUsed']")).gettext();

希望对您有所帮助。

使用xpath 利用following-sibling:

//span[@id='slotUsed']/following-sibling::text()[1]

如下所示:

String slotTot = driver.findElement(By.xpath("//span[@id='slotUsed']/following-sibling::text()[1]")).getText();