java - 无法使用 jsoup java 获取属性名称中包含空格的属性值,而不是获取空字符串
问题描述
我是 jsoup 的新手,并试图获取“title data-original-title”属性的属性值,但得到一个空字符串。我想要价值
2015 年 7 月 30 日下午 3: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"));
}
}
任何帮助,将不胜感激。我修改了属性值以获取数据放置值,并且它被正确检索。但是 data-original-title 仍然返回空字符串。
解决方案
数据属性是一种特殊的属性,因此访问它们有点不同,但仍然非常容易。代替
System.out.println(test.attr("data-original-title"));
利用:
System.out.println(test.first().dataset().get("original-title"));
推荐阅读
- java - 在类问题上找不到类型的设置器/字段
- vb.net - 调用 osk.exe 时出现问题
- javascript - 无法连接 Chrome 扩展的不同文件
- python - 它可能从网络服务器启动本地硒任务吗?
- c - LAPACK,dgeev_ 为随机矩阵提供错误的特征向量
- android - Toast 的功能:setGravity() - 不改变位置
- typescript - 打字稿通过项目传播选项
- c# - Elastic NEST 客户端如何按嵌套属性排序
- python - 如何在 Django 的投票应用程序中对所有问题使用相同的选择
- python - 如何“实时”获取浏览器中正在访问的 URL?