java - Selenium java如何从第二个引号中的元素获取文本 ""

标签 java selenium element quotes gettext

<div class="_2b9p7-6Tcy_ja6zEhxML2e">
   <div class="flex _1VLiOJeD-kdBBLC9owCkQr">
    <span class="flex-1">”Total””:”</span>
    <span>
           “USD” 
           “2,175”
    </span>

需要将文本放在第二个引号“”中,在本例中为““2,175””,但我不知道该怎么做。 “USD”和“2,175”都来自API(每次都不一样,因此我不能使用driver.findElement(By.xpath("xpath and not 'USD'),我可以分割结果,只取必要的部分,但我想知道如何从 future 的第二个括号中获取值(2,175)。 我在 Intellij 上执行了以下操作

System.out.println(driver.findElement(By.xpath("//div[@class = '_2b9p7-6Tcy_ja6zEhxML2e']//div//span/following-sibling:: span")).getText());

当然,还有全文 - 2,175 美元,但我需要 2,175 美元

最佳答案

要提取值2,175,您需要引发WebDriverWait以使所需的元素可见,并且您可以使用以下任一解决方案:

  • 使用xpath以下:

    WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(., 'Total')]//following::span[1]")));
    System.out.println(((JavascriptExecutor)driver).executeScript('return arguments[0].lastChild.textContent;', myElement).toString());
    
  • 使用xpath以下兄弟:

    WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(., 'Total')]//following-sibling::span[1]")));
    System.out.println(((JavascriptExecutor)driver).executeScript('return arguments[0].lastChild.textContent;', myElement).toString());
    

关于java - Selenium java如何从第二个引号中的元素获取文本 "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60422447/

相关文章:

java - 在linux中设置JDK路径

java - JButton 用颜色创建

java - 我如何创建一个 XPath 来查找按钮文本或按钮内嵌套元素的文本?

Java - 解析此样本数据的最佳方式

java - 如何使用 AND 运算符编写 XPath 以在单个 XPath 中添加多个跨度?

java - TestNG 多个测试类 - 运行其他类

java - 如何使用 JAXB 将 JAXBElement<Object> 编码到 Java 中的 org.w3c.dom.Element

java - 从数组中删除中间元素

javascript - 如何访问 JavaScript 数组中的元素?

java - 信任库中的 "Anchor for certification path not found"