我遇到通过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,重定向等等,但我是主题的新手,所以它不能保证我可以取消选中任何想法已经尝试过 非常感谢任何帮助。提前谢谢!
答案 0 :(得分:0)
您的按钮是按钮类型(不提交)。在这种情况下,浏览器只呈现一个按钮,但应用程序开发人员负责在用户单击按钮时执行某些操作。在你的情况下,该按钮将触发一些javascript。
但你已经通过
禁用了Javscriptwclient.getOptions().setJavaScriptEnabled(false);
如果你启用了javascript,也许你的问题会消失。
通常,在遇到任何问题时,最好先使用默认设置。默认设置的方式尽可能接近真实浏览器。