如何使用jsoup接收数据属性?

问题描述

我需要从html获取数据属性 我正试图像这样

Elements element = document.select("div.highlight padding standard-Box");
result+= element.attr("data-highlight-embed");

但是结果为空,应为data-highlight-embed = content

HTML代码

<div class="highlight padding standard-Box" data-link-tracking-page="Matchpage" 
data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on highlight [button]" 
data-highlight-embed="content">text</div>

解决方法

您需要更改CSS查询,并注意select()方法返回多个元素。

将CSS查询更新为

Elements element = document.select("div.highlight.padding.standard-box");

然后您可以循环显示结果

for(Element el : element) {
    System.out.println(el.attr("data-highlight-embed"));
}

或者您可以获取第一个元素

System.out.println(element.first().attr("data-highlight-embed"));

要获取数据属性,您还可以在https://simplesolution.dev/java-jsoup-extract-custom-data-attributes-html5-element/处引用如何使用dataset()方法