HtmlUnit - 按钮click()不提供任何响应

时间:2017-07-19 23:28:21

标签: java html login htmlunit htmlbutton

我遇到通过HtmlUnit方法登录特定网站的问题。 网站表单的提交按钮如下所示:

<td>
    <input type="button" value="Login!" onclick="encPass(UTM_STUDIO_ADMIN);" class="normalButton">
</td>

我的代码摘要:

final HtmlButtonInput submitLogin = form.getInputByValue("Login!");

HtmlPage returnPage = submitLogin.click();
System.out.println(returnPage.asText());

然而,它打印了日志记录站点,其中填写了用户名和密码字段,这就是全部。

WebClient配置:

wclient.getOptions().setPrintContentOnFailingStatusCode(false);
wclient.getOptions().setCssEnabled(false);
wclient.getOptions().setThrowExceptionOnFailingStatusCode(false);
wclient.getOptions().setThrowExceptionOnScriptError(false);
wclient.getOptions().setUseInsecureSSL(true);
wclient.getOptions().setJavaScriptEnabled(false);

我一直在尝试通过我自己添加的按钮进行登录,并尝试等待,启用JS,重定向等等,但我是主题的新手,所以它不能保证我可以取消选中任何想法已经尝试过 非常感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您的按钮是按钮类型(不提交)。在这种情况下,浏览器只呈现一个按钮,但应用程序开发人员负责在用户单击按钮时执行某些操作。在你的情况下,该按钮将触发一些javascript。

但你已经通过

禁用了Javscript
wclient.getOptions().setJavaScriptEnabled(false);

如果你启用了javascript,也许你的问题会消失。

通常,在遇到任何问题时,最好先使用默认设置。默认设置的方式尽可能接近真实浏览器。