我需要从以下位置获取价格为$ 726.35:
<span id="paiement-resultats"class="calculateur-resultats-total" style="" xpath="1">$726.35</span>
但它不起作用:
driver.findElement(By.id("paiement-resultats")).getText()
如何获得该值?
浏览器中的屏幕截图:
答案 0 :(得分:0)
尝试一下,
下面我提到了两个Xpath,如果无法使用,请尝试使用
//div[@id='resultats']//following::span[@id='paiement-resultats']
//div[@id='resultats']//following::span[@class='calculateur-resultats-total']
driver.findElement(By.xpath("//h2[@class='resultats']//following::span[@id='paiement-resultats']")).getText()
答案 1 :(得分:0)
由于元素位于<span>
标记内,因此要提取文本 $ 726.35 ,您可以使用以下任一解决方案:
cssSelector :
driver.findElement(By.cssSelector("span.calculateur-resultats-total#paiement-resultats")).getText();
xpath :
driver.findElement(By.xpath("//span[@class='calculateur-resultats-total' and @id='paiement-resultats']")).getText();
由于结果不稳定,您可以为 visibilityOfElementLocated 引入 WebDriverWait ,并且可以使用以下任一解决方案:
cssSelector :
String myText = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("table[aria-label='User']"))).getAttribute("innerHTML");
xpath :
String myText = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[contains(@style,'vertbar')]"))).getAttribute("innerHTML");
答案 2 :(得分:-1)
干杯! 我找到了解决方法
driver.findElement(By.xpath("//span[@class='calculateur-resultats-total' and contains(text(),'$')]")).getText();