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

在Selenium Java中获取指定XML结构内div的目标文本内容

获取指定div下第一段文本的解决方法

下面是几种不依赖文本内容的实现方式:

  • 用XPath直接定位第一个有效文本节点
    这种方法最可靠,直接通过XPath筛选出div下的第一个非空文本节点:

    String firstText = driver.findElement(By.xpath("//div[@class='publishing']/text()[normalize-space()][1]")).getText().trim();
    System.out.println(firstText);
    

    原理:text()会选中div下所有文本节点,normalize-space()用来过滤掉纯空格、换行的空节点,[1]取第一个符合条件的节点,最后trim去除首尾多余空格。

  • 通过JavaScript脚本提取
    借助JS直接访问DOM节点的子文本内容:

    WebElement publishingDiv = driver.findElement(By.xpath("//div[@class='publishing']"));
    String firstText = (String) ((JavascriptExecutor) driver).executeScript(
        "return arguments[0].childNodes[0].textContent.trim();", publishingDiv);
    System.out.println(firstText);
    

    原理:childNodes[0]对应div里的第一个文本节点,textContent拿到原始文本后trim处理。

  • 分割getText()结果(仅作备选)
    如果页面里两段文本一定是用换行分隔的,可以临时用这个方法,但不如前两种稳定:

    String fullText = driver.findElement(By.xpath("//div[@class='publishing']")).getText();
    String firstText = fullText.split("\\n")[0].trim();
    System.out.println(firstText);
    

    注意:如果页面渲染时换行规则变了,这个方法会失效,优先用前两种。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:01:14