Да, вы можете перебирать дочерние элементы вашего тега <li>
с помощью jsoup.
Вот упрощенная версия HTML на вашем снимке экрана, показывающая 5 элементов:
<li>
<span class="foo"><img src="bar" class="img"></span>
<span class="bar">Collins</span>
<i class="baz1"><img src="baz1" class="img"></i>
<i class="baz2"><img src="baz2" class="img"></i>
<i class="baz3"><img src="baz3" class="img"></i>
</li>
Предполагая, что вы выбрали этот конкретный тег c <li>
в своем документе, вы можете использовать следующий подход:
String html = "<li><span class=\"foo\"><img src=\"bar\" class=\"img\"></span><span class=\"bar\">Collins</span><i class=\"baz1\"><img src=\"baz1\" class=\"img\"></i><i class=\"baz2\"><img src=\"baz2\" class=\"img\"></i><i class=\"baz3\"><img src=\"baz3\" class=\"img\"></i></li>";
Document document = Jsoup.parse(html);
Element element = document.selectFirst("li");
element.children().forEach(child -> {
// do your processing here - this is just an example:
if (child.hasText()) {
System.out.println(child.text());
} else {
System.out.println(child.html());
}
});
Приведенный выше код выводит следующий результат:
<img src="bar" class="img">
Collins
<img src="baz1" class="img">
<img src="baz2" class="img">
<img src="baz3" class="img">
ОБНОВЛЕНИЕ
Если отправной точкой является URL-адрес, вам нужно будет начать со следующего:
Document document = Jsoup.connect("https://www...").get();
Тогда упражнение посвящено определению уникальный способ найти нужный элемент c. Итак, если мы обновим мой предыдущий пример, предположим, что ваша веб-страница выглядит так:
<html>
<head>...</head>
<body>
<div>
<ul class="vList_4">
<li>
<span class="foo"><img src="bar" class="img"></span>
<span class="bar">Collins</span>
<i class="baz1"><img src="baz1" class="img"></i>
<i class="baz2"><img src="baz2" class="img"></i>
<i class="baz3"><img src="baz3" class="img"></i>
</li>
</ul>
</div>
</body
</html>
Здесь у нас есть класс в теге <ul>
с именем vList_4
. Если это уникальное имя класса, мы можем использовать его для перехода к этому разделу страницы HTML (идентификаторы лучше, чем имена классов, потому что они гарантированно уникальны, но я не видел имен идентификаторов на вашем снимке экрана) .
Теперь вместо моего предыдущего селектора:
Element element = document.selectFirst("li");
Мы можем использовать этот более специфичный c селектор:
Element element = document.selectFirst("ul.vList_4 li");
Будут напечатаны те же результаты как и раньше.
Итак, все дело в том, что вы смотрите на структуру страницы и выясняете, как перейти к соответствующему разделу страницы.
См. здесь технические подробности описание того, как сконструированы селекторы.