Я пытаюсь запустить поиск в нашем внутреннем управлении проектами HP и управлении портфелем с помощью HtmlUnit. Но я столкнулся вопрос, который я не могу нажать на «Поиск», который выглядит следующим образом:Java - HtmlUnit - Не могу нажать на якорь с javascript
<span id="SEARCH_BUTTON_LINK" class="primBtn" name="SEARCH_BUTTON_LINK">
<a href="javascript:search()"></a>
</span>
Вот мой код:
final WebClient webClient = new WebClient();
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
final String savedSearchURI = "my_url";
HtmlPage page = webClient.getPage(savedSearchURI);
HtmlAnchor a = page.getAnchorByHref("javascript:search()");
page=a.click();
Но тем не менее я все еще оставаться на том же стр. Если я сделаю то же самое в браузере - я перешел на страницу с результатами поиска. Вот что я уже пробовал:
BrowserVersion
synchronized (page) {page.wait(2000);}
waitForBackgroundJavaScript(1000);
waitForBackgroundJavaScriptBeforeStart(1000);
Я полностью потерян и не могу понять, что происходит. Я попытался щелкнуть на некоторых других якорях с javascripts, и некоторые из них работают отлично (например, логин), а некоторые имеют одинаковый результат.
Спасибо за ответ, но я уже пробовал разные способы подождать, подождал около минуты, в то время как в браузере этот скрипт работает около 1-2 секунд. И это не помогло мне. И я не мог найти другого решения. Я пытаюсь переключиться на Selenium, но найти другое обходное решение и еще одну страницу с предопределенными настройками поиска. –