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

Unable to grab attribute value having a space in attribute name using jsoup java instead getting empty string

我是 jsoup 的新手,我试图获取 "title data-original-title" 属性的属性值,但得到的是一个空字符串。我要值

Jul-30-2015 03:26:13 PM

<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"));

            }
        }

如有任何帮助,我们将不胜感激。我修改了属性值以获取数据放置值并且它被正确检索。但是 data-original-title 仍然是 returns 空字符串。

您可以尝试看看是否有效:

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

解释:

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

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

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

使用:

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