Jsoup选择元素

时间:2014-11-10 18:25:49

标签: css json jsoup elements

我正在使用'try jsoup'页面测试我的css查询。出于某种原因,这突然不再起作用了(可能是网站的变化)。

http://try.jsoup.org/~Tmx2BFhR_XBIJE0WJMFj86MpMEM

我甚至复制了从chrome开发人员工具中吐出的整个路径:

#results > div:nth-child(1) > div.hpnwstxt.indextxt > span > div > p:nth-child(1) > span

这没有任何结果。

我甚至尝试过我的'旧'查询,之前完成了以前的工作:

div.indexitem.docsindex span

我哪里错了?

(在我发布的链接中,您可以查看并测试发布页面的查询)

要清楚,我将其用作代码:

Element basismenu1 = document.select("div.indexitem.docsindex span").get(1);

1 个答案:

答案 0 :(得分:0)

哇这很奇怪,我认为这是由于页面中的IFRAME导致JSoup混乱而导致的错误。

我建议你把它报告给JSoup团队。

到目前为止,我找到了两个解决方法:

  • 您可以在解析页面之前删除有问题的IFRAME,执行以下操作:

    page = page.replace("<iframe src=\"//www.googletagmanager.com/ns.html?id=GTM-WB3L2P\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\" />", "");
    Document doc = Jsoup.parse(page);
    
  • 你可以使用旧版本的JSoup,我发现JSoup 1.5.2没有问题

我希望它会有所帮助。

修改

我认为这是导致问题的错误:

https://github.com/jhy/jsoup/issues/382