java - 当浏览器正常工作时,Java 中的 HtmlUnit 返回错误

标签 java htmlunit

我正在尝试使用 HTMLUnit 登录网站,但每当我提交登录详细信息时,都会出现大量错误。我将代码分成小块,这样我就可以看到它是在单击提交按钮之后,但在其他任何事情发生之前;这需要一段时间,因为它是一个非常慢的网站。不幸的是,因为它是在登录后发生的,所以我无法向您展示它的含义。我可以说成功的登录有一些重定向,因为它给了我一个页面未找到的错误,我假设它是导致问题的重定向之一。我以前在 Chrome 中遇到过重定向问题,尽管不是在这个特定页面上,但 Chrome 和 IE8 现在都可以正常加载它。

为您保存完整的堆栈跟踪,这似乎是最重要的内容:

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>&nbsp;</p>
  <p>&nbsp;</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 或单击按钮,具有相同的效果。我希望页面的其他部分没有正确加载,但我仍然可以触发我想要的部分,但没有运气。

最佳答案

我遇到了类似的问题,并使用以下代码使其正常工作:

webClient.setThrowExceptionOnFailingStatusCode(false);
webClient.setThrowExceptionOnScriptError(false);

关于java - 当浏览器正常工作时,Java 中的 HtmlUnit 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949984/

相关文章:

java - 免费 MySQL Web 主机连接 java 桌面应用程序

java - 如何使我的代码显示一定数量的行(就像它一样)但向后显示

java - 具有OpenSSL + Java服务器的C客户端:javax.net.ssl.SSLHandshakeException:没有通用的密码套件

java - 如何使用 java 中的 HtmlUnit 从 HTML 中不在 Form 元素中的 textarea 复制数据?

Java HtmlUnit form.getInputByValue ("Login Now!").click();

java - 使用 htmlunit 尝试登录网站,遇到这种错误

java - HTMLUnit : super slow execution?

java - 从 Websphere MQ 资源适配器动态设置主机名等

Java:尝试使用 HTMLUnit 读取网页时出现 503 错误

java - 无法解析方法值?