아파치 HTMLUNIT ..... 자바 스크립트 처리 문제
com.gargoylesoftware.htmlunit.WebClient
을 통해 웹 사이트 (http://www.orkut.com)에 로그인하고 싶습니다. 그러나 "제출"버튼을 클릭하면 로그인 후 필요한 예상 페이지로 이동하지 않습니다. 대신 동일한 로그인 페이지를 반환합니다. 분명한 의미에서 로그인에 문제가 있습니다. javascript가없는 사이트에서 동일한 코드를 사용해도 스크립트가 제대로 작동하지 않아 스크립트를 처리 할 수 없다고 생각합니다.
다음 코드를 사용하려고합니다.
public static void main(String[] args) {
final WebClient webClient = new WebClient();
try {
HtmlPage loginPage = webClient.getPage(new URL("https://www.google.com/accounts/ServiceLogin?service=orkut&hl=en-US&rm=false&continue=http%3A%2F%2Fwww.orkut.com%2FRedirLogin%3Fmsg%3D0%26page%3Dhttp%253A%252F%252Fwww.orkut.co.in%252FHome.aspx&cd=IN&passive=true&skipvpage=true&sendvemail=false"));
System.out.println(loginPage.getTextContent());
List<HtmlForm> forms = loginPage.getForms();
HtmlForm loginForm = forms.get(0);
HtmlInput username = loginForm.getInputByName("Email");
HtmlInput password = loginForm.getInputByName("Passwd");
HtmlInput submit = loginForm.getInputByName("signIn");
username.setNodeValue("username");
password.setNodeValue("password");
HtmlPage homePage = submit.click();
Thread.sleep(10 * 1000);
System.out.println(homePage.getTextContent());
}catch(Exception ex) {
ex.printStackTrace();
}
}
"제출"버튼을 클릭하면 실제로이 함수가 먼저 호출됩니다.
onsubmit="return(gaia_onLoginSubmit());"
아래 양식
<form id="gaia_loginform" action="https://www.google.com/accounts/ServiceLoginAuth?service=orkut" method="post"
onsubmit="return(gaia_onLoginSubmit());">
아무도이 날 도와 드릴까요.
참고 : 솔루션
를 지불하겠습니다.
있다) Mozzilla Rhino를 설치하고 클래스 패스에 추가했습니다. 당신은 내가 어떤 구성을 수정해야하는지 말해 주시겠습니까? –
com.gargoylesoftware.htmlunit.javascript looger를 디버그 수준으로 설정하여 실행중인 내용을 볼 수 있습니다. –