Я хочу собрать некоторую информацию на веб-сайте, который требует от меня входа в систему.
Я наткнулся на HtmlUnit и уже могу найти форму входа, заполнить поля ввода электронной почты и пароли.Проблема в том, что я не могу отправить эту форму, потому что нет кнопки отправки.
Я уже пытался создать временную кнопку, но она не сработала.За этим последовало вопрос .
Попытка найти отправку ввода в качестве привязки, выполнение сценария Java и т. Д., Но безрезультатно.
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_52);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setCssEnabled(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getOptions().setRedirectEnabled(true);
// disable caching
webClient.getCache().setMaxSize(0);
// Get the first page
final HtmlPage page = webClient.getPage("https://www.jpdi.pt");
webClient.waitForBackgroundJavaScript(10000);
final HtmlForm form = page.getHtmlElementById("login_form");
form.getInputByName("login_email").setValueAttribute("my_email");
HtmlInput passWordInput = form.getInputByName("login_password");
passWordInput.setValueAttribute("my_password");
//wait a little
Thread.sleep(2000);
ScriptResult result= page.executeJavaScript("document.getElementById('submit_login').click()");
final HtmlPage secondPage = (HtmlPage) page.getWebClient().getCurrentWindow().getEnclosedPage();
System.out.println(secondPage.asText());
Распечатанная страницаоригинал с двумя заполненными вводами, а не страница, которую я ожидаю .. Есть идеи?