Java Jsoup Element.text()是间歇性的吗?

Java Jsoup Element.text()是间歇性的吗?,java,html,html-parsing,jsoup,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; } 链接文本有时是空的,即

在以下代码片段中:

  String linkHref = "";
  String linkText = "";
  Elements links = div.getElementsByTag("a");
  for (Element link : links) {
    linkHref = link.attr("href");
    linkText += link.text();              
    break;
  }           
链接文本有时是空的,即使我可以在WebView上清楚地看到链接文本在那里

另一方面,linkHref总是以正确的值结束

有什么可能解释这种看似断断续续的行为

这是Jsoup中的错误吗?还有什么我可能遗漏的吗

更新,回答@BalusC的以下问题:Jsoup版本是Jsoup-1.5.2,div.html()表示:


2.

人力资源政策被视为了解公司的一个有价值的工具。


第一个链接根本不包含文本。它包含一个图像。所以Jsoup的工作做得非常好

您可能希望使用第一个来检查链接是否有文本

if (link.hasText()) {
    linkText += link.text();
}

什么网址?什么Jsoup版本?
div.html()
说了什么?为什么
break
指令?为什么不直接使用
链接[0]
?@manji Nice observation(+1)。您确定这两种形式100%等效吗?@manji links[0]生成“表达式的类型必须是数组类型,但它解析为元素”。您可能是指links.get(0),但这仍然不好,因为如果元素为空,它将生成IndexOutOfBoundException;使用links=div.select(“a[accesskey]”);感谢+1建议使用div.html()作为调试工具。
if (link.hasText()) {
    linkText += link.text();
}