java - Jsoup Element.text() 间歇性?

标签 java html html-parsing jsoup

在以下代码片段中:

  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/

相关文章:

java - 如何发送 SAML 请求?

java - 为什么我的日期显示不正确?

java - 用于在 Java 中获取唯一的集合元素对的习惯用法

java - 如何输入日期和时间格式

html - 如何在 ASP.NET MVC 中获取移动设备的 CSS 宽度?

html - 水平 div 未垂直对齐

python - 使用 BeautifulSoup 在 python 中解析 Google App Engine 中的 HTML?

javascript - 如何从特定位置开始播放 HTML 5 视频?

coldfusion - 来自网页 coldfusion 的短语图像

http - 如何模拟完整浏览器对 HTML 文档的请求?