如何使用 xpath 获取动态数字?

How to get dynamic numbers using xpath?

如何在 span 块中动态更改数字?

<div class="main-page-exchange__indicator">
   <span class="main-page-exchange__rate">72,54</span></div>
</div>

方法:

@Test
public void first(){
    chromeDriver.get("https://www.open.ru/");
    WebElement buyRateUSD = chromeDriver.findElement(By.xpath("//span[@class='main-page-exchange__rate']"));
    System.out.println("out" + buyRateUSD);
}

我不知道该怎么做。我的方法 xpatch 其中 returns 值:

"out[[ChromeDriver: chrome on WINDOWS (7ec6711c86cc8089e3bd06c161cdebf8)] -> xpath: //span[@class='main-page-exchange__rate']]" 

如何在这些块中获取动态变化的数字以供进一步比较?

您的代码 returns 类型的值 WebElement

要获取其中的文本,您需要使用 buyRateUSD.getText() 这应该将文本作为字符串提供给您,您可以进一步解析它以使用它。

chromeDriver.get("https://www.open.ru/");
WebElement buyRateUSD = chromeDriver.findElement(By.xpath("//span[@class='main-page-exchange__rate']"));
System.out.println("out" + buyRateUSD.getText());

byRaetUSD 是一个网络元素,您应该调用 getText 来获取文本,或者您可以调用

  buyRateUSD.getAttribute("textContent") 

如果元素不在视口中,因为 getText 发现内部测试,将考虑 isdisplayed 。如果显示的是 falls getText 将 return 空字符串。 getAttribute("textContent") 不关心 isDisplayed 所以它会 return 如果元素存在

文本