Selenium Java无法获取HTML文本

时间:2019-10-28 22:32:52

标签: java html selenium gettext

我有以下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也很好...)预先感谢

3 个答案:

答案 0 :(得分:0)

获取SlotUsed的文本

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

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

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

答案 1 :(得分:0)

String slotTot = driver.findElement(By.xpath("//span[normalize-space(@id='slotUsed']")).gettext();

希望这会对您有所帮助。

答案 2 :(得分:0)

使用xpath利用following-sibling

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

像下面这样:

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