Java 如何在没有所有子节点文本的情况下获取direct元素的文本 $252.00 趋向于 $259.85

Java 如何在没有所有子节点文本的情况下获取direct元素的文本 $252.00 趋向于 $259.85,java,regex,selenium-webdriver,testng,Java,Regex,Selenium Webdriver,Testng,也。 我想getText这样它就会返回“$252.00” 目前,getText返回“$252.00,趋势为$259.85”。 它从direct元素中获取文本,还包括子节点的文本 我目前正在使用findElements(By.cssSelector(“li.lvprice.prc”) 我查看了WebElement.getText()文档。它还可以抓取所有子节点文本 我可以使用正则表达式从字符串中获取252.00,但我不确定这是最专业的方法 有什么建议吗?试试这个: <li class="l

也。

我想
getText
这样它就会返回“$252.00” 目前,
getText
返回“$252.00,趋势为$259.85”。 它从direct元素中获取文本,还包括子节点的文本

我目前正在使用
findElements(By.cssSelector(“li.lvprice.prc”)

我查看了
WebElement.getText()
文档。它还可以抓取所有子节点文本

我可以使用正则表达式从字符串中获取252.00,但我不确定这是最专业的方法

有什么建议吗?

试试这个:

<li class="lvprice prc">
    <span class="bold">
    $252.00
        <div class="medprc">
            <span class="prcVS">Trending at</span>
            <span class="median">
            $259.85
  • .*(\$\d+。?\d+)

  • 您可以获取整个文本,然后删除子文本

    <li class="lvprice prc">
        <span class="bold">.*?(\$\d+.?\d+)
    
    String allText = driver.findElement(By.cssSelector("li.lvprice.prc")).getText();
    String childrenText = driver.findElement(By.cssSelector("div.medprc")).getText();
    String parentText = allText.replace(childrenText, "");