Подтвердить что ты не робот

Как выбрать этот элемент в JSOUP?

Это HTML-структура:

enter image description here

Element link = doc.select("div.subtabs p").first();

Это не работает. Как выбрать p?

4b9b3361

Ответ 1

DIV с вкладками class= "на самом деле не является родителем элемента p, а вместо этого является братом p. Чтобы получить p, вам нужно сначала получить ссылку на родительский DIV, у которого есть id =" content":

Element link = doc.select("div#content > p").first();

Кроме того, вам понадобится символ >, чтобы указать, что вы выбираете дочерний элемент содержимого div #.

parent > child: дочерние элементы, которые спускаются непосредственно от родителя, например. div.content > p находит p элементов; и тело > * находит прямых детей тега тела

Если вы застряли в селекторе JSOUP CSS в будущем, посмотрите кулинарную книгу синтаксиса селектора JSOUP, в которой есть несколько приятных примеров и объяснений.

Ответ 2

div#content p. Это не ребенок .subtabs.

Ответ 3

Тег p, который вы пытаетесь извлечь, не является дочерним элементом div. Это брат. Идентификатор родительского div - это контент, а тег p, который вы хотите, - это первый тег p внутри его родителя. Поэтому используйте doc.select("div#content > p").first();

# означает id и означает, что RHS является дочерним элементом LHS. Таким образом, утверждение означает получение первого абзаца, который является дочерним для div с id как content

Ответ 4

Chrome SelectorGadget очень полезен при создании селекторов CSS для jSoup, просто по точкам и щелчкам. Это избавило меня от времени разработки при попытке настроить таргетинг на определенные поля.

Ответ 5

Element link = doc.select("div.subtabs + p") Он находит элемент, которому предшествует sibling

Ответ 6

попробуй это:

Element link = doc.select("div.subtabs p").first();