Я хочу войти в систему https://www.rjs.com/member/user.html#login, используя HtmlUnit
, но не смог, я все равно получаю предыдущую страницу после вызова кнопки button.click.
Буду очень признателен, если кто-нибудь сможет мне помочьпо этому вопросу.
WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.setCssErrorHandler(new SilentCssErrorHandler());
webClient.getOptions().setUseInsecureSSL(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setTimeout(50000);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setRedirectEnabled(true);
webClient.getCookieManager().setCookiesEnabled(true);
HtmlPage page = webClient.getPage("https://www.rjs.com/member/user.html#login");
webClient.waitForBackgroundJavaScript(10000);
System.out.println(page.asXml());
HtmlInput heUsername = (HtmlInput)page.getHtmlElementById("login_username");
HtmlPasswordInput hePassword = (HtmlPasswordInput)page.getHtmlElementById("login_pwd");
HtmlButton heLogin = (HtmlButton)(page.getFirstByXPath("//button[@class='login-btn']"));
heUsername.setValueAttribute(<my user name>);
hePassword.setValueAttribute(<my password>);
HtmlPage page2 = heLogin.click();
webClient.waitForBackgroundJavaScript(10000);
System.out.println(page2.asXml());
webClient.close();