Jsoup.select не выбирает путь CSS, но Chrome выбирает его - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь выбрать какой-то абзац в www.zoho.com, используя следующие пути CSS:

  1. html> body> div: nth-of-type (2)> div: nth-of-type (3)> section> div> div> div> div
  2. div.zh-banner-wrap> div.content-wrap.animated: first-child

он работает нормально в 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 голосов
/ 20 декабря 2018

Я не уверен, каковы ожидаемые результаты в вашем случае.Когда я использую ваш селектор в хромированной консоли

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()) с исходным кодом из веб-браузера.

0 голосов
/ 17 декабря 2018

Попробуйте:

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());
}

больше информации вы можете найти здесь

...