현재 HtmlUnit을 사용 중입니다.HtmlUnit, 2 개의 양식을 얻으려고 시도 할 때 두 번째 양식에서 예외가 발생합니다.
첫 번째 로그인 페이지에 아무 문제없이 성공적으로 로그인하면 다음 페이지로 이동하여 링크를 클릭하면 "MyDetails"페이지가 표시됩니다.
"MyDetails"페이지를 가져온 후 첫 번째 로그인 양식을받는 것과 같은 방식으로 가져오고 싶습니다.
왜 양식을 가져 오려면 암호를 변경하고 필드가 양식에 있어야합니다.
다음 두번째 형태를 얻으려고 노력 메신저, 저에게 제공 예외 :
com.gargoylesoftware.htmlunit.ElementNotFoundException :가 elementName = [형태] 여기서 attributeName = [이름]의 AttributeValue = 형식 2]
을HtmlForm form2 = page3.getFormByName("form2");
주 :
코드의 라인에서 예외를 제공하는 제 폼 이름 "에 form1"& 번째 폼 이름 "형식 2"이다.
HtmlUnit에 문제가 있습니까?
코드 : 모든
try {
WebClient webclient = new WebClient(BrowserVersion.FIREFOX_3_6);
HtmlPage page1 = webclient.getPage("http://www.highveld.mobi/pages/clubvip/login.aspx");
HtmlForm form = page1.getFormByName("form1");
HtmlSubmitInput buttonLogin = form.getInputByName("cmdLogin");
HtmlTextInput cellLogin = form.getInputByName("txtCellNumber");
HtmlPasswordInput passLogin = form.getInputByName("txtLoginPassword");
cellLogin.setValueAttribute(change);
passLogin.setValueAttribute(oldPass);
HtmlPage page2 = buttonLogin.click();
HtmlAnchor link = page2.getAnchorByHref("updateprofile.aspx");
HtmlPage page3 = link.click();
System.out.println(page3.getUrl());
HtmlForm form2 = page3.getFormByName("form2");
HtmlPasswordInput pass = form2.getInputByName("txtPassword");
HtmlPasswordInput passConfirm = form2.getInputByName("txtConfirmPassword");
HtmlSubmitInput button = form2.getInputByName("cmdUpdate");
pass.setValueAttribute(newPass);
passConfirm.setValueAttribute(newPass);
HtmlPage page4 = button.click();
}
LOL OMS! 보려는 페이지에 오류가 있습니다. 제출 한 정보를 확인하거나 나중에 다시 시도하십시오. 휴대 전화 번호가 잘못되었습니다. 궁금하지 않습니다! 내가 세포 번호를 데이터베이스에 추가하면, 0 infront가 차단됩니다! 감사! – Foxticity