无法使用 jsoup java 获取属性名称中具有空格的属性值,而是获取空字符串



我是jsoup的新手,试图获取"标题数据-原始标题"属性的属性值,但得到一个空字符串。我想要价值

七月-30-2015 03:26:13 下午

<table class="table table-hover">
<thead>
<tr style="border-color: #E1E1E1; border-width: 1px; background-color: #F9F9F9; border-top-style: solid;">
<th>Height</th>
<th>Age</th>
<th>txn</th>
<th>Uncles</th>
<th>Miner</th>
<th>GasUsed</th>
<th>GasLimit</th>
<th>Avg.GasPrice</th>
<th>Reward</th>
</tr>
</thead>
<tbody>
<tr><td></td>
<td>
**<span rel="tooltip" data-placement="bottom" title="" data-original-title="Jul-30-2015 03:26:13 PM">1149 days 18 hrs ago</span>**
</td>

我的代码是

for (int i = total_pages; i >= 1; i--) {
System.out.println("nDisplaying blocks on page " + i);
String newString = "https://etherscan.io/blocks?p=" + i;
Document d3 = Jsoup.connect(newString).get();
Elements e = d3.select("table.table-hover > tbody");
Elements r = e.get(0).select("tr");
for (Element cr : r) {
Elements test = d3.select("span");
System.out.println(test.attr("data-original-title"));
}
}

任何帮助将不胜感激。我修改了属性值以获取数据放置值,并且正在正确检索它。但是数据原始标题仍然返回空字符串。

数据属性是特殊的属性,因此访问它们有点不同,但仍然非常容易。 而不是

System.out.println(test.attr("data-original-title"));

用:

System.out.println(test.first().dataset().get("original-title"));

你可以尝试看看这是否有效:

d3.select("span[data-original-title]").get(0).attr("data-original-title")

解释:

这将查找包含属性"data-original-title"的第一个跨度,并获取该属性的值。

最新更新