Jsoup.select不选择CSS路径,但chrome选择它

时间:2018-12-17 06:04:54

标签: html css-selectors jsoup html-parsing

我正在尝试使用以下CSS路径在www.zoho.com中选择一些段落:

  
      
  1. html>正文> div:nth-​​of-type(2)> div:nth-​​of-type(3)>部分> div> div> div> div
  2.   
  3. div.zh-banner-wrap> div.content-wrap.animated:第一个孩子
  4.   

在Chrome检查元素css路径搜索中运行正常

但是当我在jsoup中尝试此操作时,它不起作用。

Java代码:

        Document doc = Jsoup.connect("https://www.zoho.com").get();

        Element el = doc.selectFirst("html > body > div:nth-of-type(2) > div:nth-of-type(3) > section > div > div > div > div");
        if(el != null) {
            System.out.println(el.text());
        }

2 个答案:

答案 0 :(得分:1)

我不确定您的情况下预期输出什么。 在Chrome控制台中使用选择器时

document.querySelector("html > body > div:nth-of-type(2) > div:nth-of-type(3) > section > div > div > div")

我为空。与Jsoup中相同。

这是因为

document.querySelector("html > body > div:nth-of-type(2)")

<div class=​"ztopstrip-container">​</div>​

如果您的输出不同,请检查是否有通过JavaScript动态加载的内容。

System.out.println(doc.html())的结果与Web浏览器的源代码进行比较。

答案 1 :(得分:-1)

尝试一下:

Document doc = Jsoup.connect("https://www.zoho.com").get();
Element el = doc.selectFirst("div:nth-of-type(3) > section > div > div > div > div");
if(el != null) {
     System.out.println(el.text());
}

更多信息,您可以找到here