1
我想通過阿帕奇.....的HtmlUnit問題,在處理JavaScript
com.gargoylesoftware.htmlunit.WebClient
登錄到網站(http://www.orkut.com),但是當我點擊「提交」按鈕,它不帶我去登錄後應該出現的預期頁面。相反,它會再次返回相同的登錄頁面。明確地說,登錄有一些問題。當我嘗試與沒有JavaScript的網站相同的代碼時,它工作正常,所以我認爲我無法處理腳本。
我使用的follwoing代碼嘗試:
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());">
任何人都可以幫助我。
注:我將支付解決方案
我已經張貼了我的問題化的HtmlUnit郵件列表([email protected])和專業的HtmlUnit支持(http://www.efficient-webtesting.com ) 我已經安裝了Mozzilla Rhino並將它添加到我的類路徑中。你能告訴我需要修改什麼配置嗎? – 2009-10-09 06:34:03
請將com.gargoylesoftware.htmlunit.javascript閱讀器設置爲調試級別,以便您可以看到正在執行的內容。 – 2009-10-09 19:01:41