我試圖使用HTMLUnit登錄到一個站點,但是每當我提交我的登錄詳細信息時,我都會遇到大量錯誤。我把代碼分解成小塊,所以我可以看到它是在點擊提交按鈕之後,但在發生其他事情之前;它需要一段時間,因爲它是一個相當緩慢的網站。因爲它發生在登錄後,所以我不能告訴你它是什麼意思。我可以說,一個成功的登錄有幾個重定向,並且因爲它給了我一個頁面沒有找到錯誤,我假設它是導致麻煩的重定向之一。我以前在Chrome中遇到過重定向問題,雖然不在這個特定的頁面上,現在Chrome和IE8都爲我加載了。Java中的HtmlUnit在瀏覽器工作正常時返回錯誤
節約了您的完整的堆棧跟蹤,這裏似乎是最重要的東西:
SEVERE: Error loading JavaScript from [http://servicedeskmt.det.nsw.edu.au:8090/kinetic/displayPage.jsp/../resources/js/jquery/jquery-1.3.2.js].
com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 404 /kinetic/resources/js/jquery/jquery-1.3.2.js for http://servicedeskmt.det.nsw.edu.au:8090/kinetic/resources/js/jquery/jquery-1.3.2.js
at com.gargoylesoftware.htmlunit.WebClient.throwFailingHttpStatusCodeExceptionIfNecessary(WebClient.java:535)
INFO: statusCode=[404] contentType=[text/html]
Oct 31, 2011 2:31:29 PM com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
INFO: <html>
<head>
<title>Page cannot be found</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<p> </p>
<p> </p>
<p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">There was
an error on the page you were attempting to reach or the page could not be
found.</font></b> <br>
</p>
<p><br>
<br>
<a href="http://www.kineticdata.com"><img src="resources/poweredByKS.gif" width="131" height="45" border="0"></a>
</p>
</div>
</body>
</html>
任何意見將不勝感激。 謝謝。
編輯:添加一些更詳細的信息 loginButton.click(),是否將結果設置爲等於新頁面時發生錯誤。一條只是loginButton.click()的行會導致很長的停頓(就像我說的,頁面需要一段時間才能加載),然後拋出錯誤。如果我捕捉到異常,然後嘗試加載登錄版本的頁面,則會發生同樣的情況,這會告訴我,我的登錄嘗試成功,但加載已登錄的頁面會導致問題。 將憑據存儲在DefaultCredentialsProvider中,然後直接進入登錄頁面,會出現相同的錯誤。我想我可以放心地說這是頁面,而不是登錄。
加載頁面,並在運行javascript或單擊按鈕的同一語句中具有相同的效果。我希望頁面的其他部分沒有正確加載,但我仍然可以燒掉我想要的那一點,但沒有運氣。
錯誤404意味着資源(網頁和腳本)沒有被發現。嘗試確保HtmlUnit注意到8090端口號。你的細節太少,很難知道什麼是錯的。但是從錯誤中,它表明嘗試以某種方式連接到您的網頁時出現問題。 – thotheolh
有沒有什麼理由HtmlUnit會給404錯誤,當IE和Chrome罰款?我如何確保HtmlUnit通知8090?我真的不知道你的意思。如果您需要任何額外的信息,我會給它,但顯然,我無法給出我登錄的頁面的任何詳細信息。感謝您的迴應。 – user1021379
@ user1021379你有沒有得到這個工作? – Kris