Найти "Span", который находится внутри "div" в HTML, используя JSoup - PullRequest
1 голос
/ 19 октября 2019

Я пытаюсь найти текст, который находится внутри этого диапазона, используя JSoup: <div class="_6wab"><span>$35 raised</span>

Я успешно получил текст в разделителе, который выглядит следующим образом: <div class="_6wae">Time</div>

Используя это:

Document doc = Jsoup.connect("https://" + line).userAgent("Mozilla/17.0").get();
String goal = doc.select("div._6wae").html();

Итак, я знаю, что мой метод работает для поиска текста внутри разделителя, но я не уверен, как найти текст внутри диапазона, внутри разделителя.

Большое спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

Это должно сделать:

Document doc = Jsoup.parse("<div class=_6wab><span>$35 raised</span></div><p><span>hi</span></p>");
//use css selectors
Elements rows = doc.select("div._6wab span");
System.out.println(rows.eachText());

вывод:

[$35 raised]

Обратите внимание, что печатается только текст в пределах диапазона внутри div. Кроме того, NullPointerException не будет выброшено, если класс не существует в HTML. В этом случае будет возвращен пустой список. Это также поймает все промежутков в div с данным классом.

0 голосов
/ 19 октября 2019

Этот код может работать.

Прежде всего найдите первый div с классом _6wab.

Element div = doc.getElementsByClass("_6wab").first();

Затем, после получения div, найдите внутренний span.

  Element span = div.select("span").first();

Наконец, получите текст.

System.out.println(span.text());
...