在以下代码片段中:
String linkHref = "";
String linkText = "";
Elements links = div.getElementsByTag("a");
for (Element link : links) {
linkHref = link.attr("href");
linkText += link.text();
break;
}
linkText 有时是空的,即使我可以在 WebView 上清楚地看到链接文本就在那里!
另一方面,linkHref 总是以正确的值结束。
什么可以解释这种看似间歇性的行为?
这是 Jsoup 中的错误吗?我可能还缺少其他东西吗?
更新,回答@BalusC的以下问题:Jsoup版本是jsoup-1.5.2,div.html()说:
<div class="d2 dl">
<a href="nextp.html" class="cO"><img src="images/no001.jpg" alt="" vspace="0" width="69" border="0" height="69" hspace="0" /></a>
<span class="bc">2.</span>
<a accesskey="2" href="nextp.html"> Subject line </a>
</div>
<p class="aG">Human resource policies are viewed as a valuable to understand the companies.</p>
<div>
</div>
最佳答案
第一个链接根本不包含文本。它包含一个图像。所以 Jsoup 完美地完成了它的工作。
您可能想利用 Element#hasText()
首先检查链接是否有文本。
if (link.hasText()) {
linkText += link.text();
}
关于java - Jsoup Element.text() 间歇性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655217/