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

如何使用Groovy统计页面特定元素数量并验证其数量多于1个?

用Groovy统计嵌套HTML中的指定元素数量

核心方案:结合Jsoup处理HTML解析

Groovy可以通过Jsoup库轻松处理嵌套HTML结构,Jsoup的选择器会自动匹配所有层级的目标元素,无需手动处理嵌套逻辑。

1. 引入依赖(Groovy脚本方式)

直接用@Grab快速引入Jsoup:

@Grab('org.jsoup:jsoup:1.17.2')
import org.jsoup.Jsoup
import org.jsoup.nodes.Document

2. 统计元素数量并验证

下面是完整示例,包含解析HTML、统计目标元素、验证数量是否大于1的逻辑:

// 示例HTML内容
def html = '''
<div>
     <div-list-holder>
          <list>
               <custom-list-item>
                    list item 1
               </custom-list-item>
               <custom-list-item>
                    list item 2
               </custom-list-item>
               <custom-list-item>
                    list item 3
               </custom-list-item>
          </list>
     </div-list-holder>
</div>
'''

// 解析HTML文档
Document doc = Jsoup.parse(html)

// 统计所有层级的custom-list-item元素
int itemCount = doc.select("custom-list-item").size()

// 输出统计结果
println "custom-list-item元素总数: $itemCount"

// 验证数量是否多于1
if (itemCount > 1) {
    println "✅ custom-list-item元素数量大于1"
} else {
    println "❌ custom-list-item元素数量不大于1"
}

3. 封装成通用方法

如果需要复用,可以封装成类似WebUI.countOfElementsPresent的工具方法:

@Grab('org.jsoup:jsoup:1.17.2')
import org.jsoup.Jsoup
import org.jsoup.nodes.Document

/**
 * 统计HTML中指定元素的数量(支持嵌套结构)
 * @param htmlContent HTML内容字符串
 * @param elementName 目标元素标签名
 * @return 元素数量
 */
int countOfElementsPresent(String htmlContent, String elementName) {
    Document doc = Jsoup.parse(htmlContent)
    return doc.select(elementName).size()
}

// 使用示例
def targetHtml = '''你的HTML内容'''
int count = countOfElementsPresent(targetHtml, "custom-list-item")
println "元素数量: $count"

// 验证数量是否大于1
if (count > 1) {
    // 执行后续逻辑
}

说明

  • Jsoup的select(elementName)会匹配文档中所有层级的目标元素,不管嵌套深度,完美解决嵌套结构的统计问题。
  • 如果是从文件或URL加载HTML,可以用Jsoup.parse(new File("path/to/file.html"))或Jsoup.connect("https://example.com").get()替代字符串解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:25:26