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

如何使用Java提取aria-label属性值?Jsoup获取结果为空问题排查

问题解决:提取aria-label值失败的原因与修正

你的代码有两个关键问题导致无法获取目标值:

  1. 属性位置错误:aria-label 并不是在 div.tertiary 元素上,而是在它内部的第二个 <a> 标签(class为vehicle-compare)上。
  2. 方法调用错误:attr("aria-label") 返回的是字符串类型,不能再链式调用 text() 方法,这属于语法错误(你得到空结果是因为先从div上获取不存在的aria-label得到空字符串,后续操作无效)。

修正后的代码

Document document1 = Jsoup.parse(document);
// 精准定位到带aria-label的对比按钮a标签
String ariaLabel = document1.select("div.tertiary a.vehicle-compare").attr("aria-label");
// 输出结果即可看到预期值
System.out.println(ariaLabel);

补充说明

  • 如果不想依赖class,也可以通过属性筛选直接定位:
    String ariaLabel = document1.select("div.tertiary a[aria-label]").attr("aria-label");
    
  • attr("属性名") 方法直接返回元素对应属性的字符串值,不需要额外调用text()——text()是用来获取元素内部的文本内容(比如<a>COMPARE</a>里的"COMPARE"),和属性值是完全不同的概念。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 02:58:10