Ваш код работает для меня, используя последнюю версию Jsoup 1.11.3.
Document doc = Jsoup.parse("<body> <div> <div> <div class=\"classA\"/> </div> </div> </body>");
int size = doc.body().select(".classA").size();
System.out.println(size); // displays: 1
Возможная причина вашей проблемы:
- Вы используете более старую версию Jsoup, что-то между 1.9.2 и 1.10.3, потому что была ошибка, из-за которой классы сохранялись только в нижнем регистре. https://github.com/jhy/jsoup/issues/814 https://github.com/jhy/jsoup/issues/830 Исправлено в версии 1.10.3.
- Сайт, который вы пытаетесь проанализировать, загружает дополнительный контент с помощью JavaScript (AJAX). Jsoup может только «увидеть» оригинальный HTML до модификации JavaScript. Чтобы просмотреть исходный HTML-код, посетите веб-страницу в веб-браузере и нажмите CTRL + U (Просмотреть исходный код). Не используйте отладчик / firebug и Inpect, поскольку они отображают окончательный, уже измененный HTML-код.
Ответ на комментарий:
Трудно догадаться без URL, который вы пытаетесь проанализировать. Ваш браузер, вероятно, загружает динамические части этой веб-страницы с разных URL-адресов. Вы можете попытаться разобрать только эти фрагменты HTML. Проверьте мой ответ здесь: Как загрузить все содержимое HTML - Jsoup