You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium WebDriver如何提取div下的独立文本节点内容

如何用Selenium WebDriver获取指定文本内容?

当然可以实现!针对你遇到的这种情况,我整理了几个实用的方法,帮你精准拿到"My Answer"这部分内容:

  • 方法一:替换排除子元素文本
    先定位父元素和子元素,拿到父元素的全部文本后,把h5标签里的内容替换掉,再清理多余空格:

    WebElement parentDiv = driver.findElement(By.id("cc"));
    WebElement heading = parentDiv.findElement(By.tagName("h5"));
    String targetText = parentDiv.getText().replace(heading.getText(), "").trim();
    
  • 方法二:用XPath直接定位文本节点
    这种方法更直接,通过XPath表达式直接选中div下的目标文本节点:

    String targetText = driver.findElement(By.xpath("//div[@id='cc']/text()[last()]")).getText().trim();
    

    这里的text()[last()]会选中div下最后一个独立的文本节点,正好对应你要的"My Answer"。

  • 方法三:通过JavaScript执行获取
    如果页面结构稳定,也可以借助JS来获取目标文本节点的内容:

    JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
    String targetText = (String) jsExecutor.executeScript("return document.getElementById('cc').childNodes[2].textContent.trim();");
    

    注意:childNodes的索引需要根据实际节点顺序调整,不同浏览器解析可能略有差异,使用前要确认索引位置正确。

内容的提问来源于stack exchange,提问作者Melvin Richard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:35:08