HtmlUnitを使用してこのサイトにログインしようとしていますが、[ログイン]をクリックすると、同じページが返され、入力フィールドに値が入力され、ログインできません。解決策を提案してください。
私は次のコードを試しています
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setRedirectEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getCookieManager().setCookiesEnabled(true);
String url="http://xxxxxxxxx.xxx/";
String name="XXXX";//here real value i am putting for name, accountNo and pass instead of XXXX
String accountNo="XXXX";
String pass="XXXX";
HtmlPage page = webClient.getPage(url);
System.out.println("1st page : "+page.asText());
HtmlForm form=(HtmlForm)page.getElementById("aspnetForm");
HtmlInput uName=(HtmlInput)form.getByXPath("//*[@id=\"ctl00_LoginControl_textUserName_text\"]").get(0);
uName.setValueAttribute(name);
HtmlInput acNo=(HtmlInput)form.getByXPath("//*[@id=\"ctl00_LoginControl_textCompanyAccount_text\"]").get(0);
acNo.setValueAttribute(accountNo);
HtmlPasswordInput password=(HtmlPasswordInput)form.getByXPath("//*[@id=\"ctl00_LoginControl_textPassword\"]").get(0);
password.setValueAttribute(pass);
HtmlSubmitInput button = (HtmlSubmitInput) form.getByXPath("//*[@id=\"ctl00_LoginControl_buttonLogin\"]").get(0);
page = (HtmlPage) button.click();
System.out.println("2nd Page : "+page.asText());
webClient.closeAllWindows();
ログインボタンをクリックした後、同じページが入力フィールドに入力されて戻ってきます。だから私を助けてください。ありがとう