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

JSoup解析嵌套HTML无序列表:无法提取目标链接求助

问题分析与代码修正

我来帮你梳理下代码里的问题,其实主要是CSS选择器写法错误和属性获取方式不对这两个核心点:

1. CSS选择器的类名组合错误

你写的选择器比如ul.no-bullet participants-list,这里的空格表示“后代元素”,意思是找ul.no-bullet下面的participants-list元素,但实际上participants-list是ul的另一个类名,多个类名的选择器应该用点号连接,比如ul.no-bullet.participants-list。同理,后面的div.row collapse participant-info也应该改成div.row.collapse.participant-info——因为row、collapse、participant-info都是同一个div的类。

2. 获取href属性的方式错误

你最后写的select("a.href").text()完全错了:

  • a.href不是有效的选择器,你要选的是<a>标签,直接用a或者更精确的a.user-profile-link就行
  • text()是获取标签内的文本内容,而你要的是href属性,应该用attr("href")来获取

修正后的代码

// 完整的正确选择器链 + 属性获取方式
for (Element participantLi : doc.select("ul.no-bullet.participants-list li.participant")) {
    String profileLink = participantLi.select("div.row.collapse.participant-info div.large-1.small-2.columns figure.participant-avatar a.user-profile-link")
                                    .attr("href");
    System.out.println(profileLink);
}

另外,其实可以简化选择器,不用写这么长的链,只要能精准定位到目标元素就行:

// 简化版选择器,直接定位到目标a标签
for (Element link : doc.select("ul.participants-list li.participant a.user-profile-link")) {
    System.out.println(link.attr("href"));
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 16:07:31