Когда вы посещаете эту страницу, первое, что вы видите, это пустая страница с загрузкой счетчика:
Это всегда признак того, что некоторые дополнительные данные выбираются JavaScript и динамически добавляютсяна страницу (ДОМ).Jsoup не может выполнить JavaScript, и поэтому ваш выбор возвращает ноль.Вы можете использовать отладчик браузера, чтобы проверить, что загружено:
Вы можете видеть, что данные хранятся в формате JSON и могут быть напрямую доступны по этому URL: https://www.dndbeyond.com/character/11196319/json
К сожалению, Jsoup не может проанализировать JSON, поэтому вам придется использовать другую библиотеку.Также обратите внимание, что эта страница выполняет некоторые вычисления, и не все, что вы видите, отмечено непосредственно в этом JSON.Например, если вы отформатируете его, вы увидите, что у вас есть некоторая статистика:
stats: [
{
id: 1,
name: null,
value: 10},
{
id: 2,
name: null,
value: 13},
{
id: 3,
name: null,
value: 14},
{
id: 4,
name: null,
value: 15},
{
id: 5,
name: null,
value: 12},
{
id: 6,
name: null,
value: 12}
],
Что-то кажется неправильным, потому что ваш интеллект не 15, а 16, и это потому, что у вас есть расовый бонус +1 и это значение хранится где-то еще,Может быть сложно выяснить, как эти характеристики влияют друг на друга.
Поэтому, чтобы убедиться, что у вас есть правильные конечные значения вместо базовых, я рекомендую отказаться от подхода Jsoup с анализом JSON и использовать вместо этого Selenium Webdriver, так как он можетчтобы получить точные значения, которые вы видите, потому что он выполняет JavaScript.