#html #click #htmlunit #htmlbutton
#HTML #нажмите #htmlunit
Вопрос:
Я использую HtmlUnit версии 2.43.0 с maven.
После успешного входа на сайт с именем пользователя / паролем и щелчком HtmlSubmitInput следующая кнопка HtmlAnchor поставила меня в тупик. Я не уверен, что делать.
Кнопка выглядит следующим образом:
<a class="DirectoryEntries_LoadMoreEntriesButton vx-button" onclick="$(this).text('Loading...')" data-remote="true" href="[redacted]/directory_entries/2">Load More</a>
Мой текущий код:
htmlPage = ((HtmlAnchor) htmlPage.getFirstByXPath("//a[contains(@class, 'DirectoryEntries_LoadMoreEntriesButton vx-button')]")).click();
String page = htmlPage.asXml();
Однако страница точно такая же, как и раньше, за исключением того, что «Загрузить больше» заменяется на «Загрузка …» Он остается таким навсегда, даже после нескольких Thread.sleep()
webClient.waitForBackgroundJavaScript()
вызовов and .
На самом сайте, когда вы нажимаете кнопку Загрузить больше, он заменяется на другие каталоги. Изначально их было 50, но добавилось еще 15.
У кого-нибудь есть решение для этого?
Ответ №1:
Решил эту проблему, переключившись на Selenium (v3.141.59) и в значительной степени проделав то же самое. Я думаю, поддержка JS в HtmlUnit не самая лучшая.