我正在尝试使用HTMLUnit单击一个Html按钮。 按钮代码:
<input class="Submit" value="I Accept." type="submit" name="ButtonSubmit" id="button" onclick="/*some looong js code*/" tabindex="16">
我的代码
final HtmlSubmitInput baton = form.getInputByName("ButtonSubmit");
HtmlPage page2 = baton.click();
我尝试使用click();方法,但它不起作用。
也按回车键:
final HtmlTextInput textinput = form.getInputByName("SomeInput");
//filling input
HtmlPage page = textinput.type(KeyboardEvent.DOM_VK_ENTER);
我认为问题在于js代码。它只是不使用HTMLUnit运行。 (手动填写表单,使用浏览器,工作正常。)感谢您的帮助。
答案 0 :(得分:1)
确保在代码中启用JS
webClient.getOptions()setJavaScriptEnabled(真)。 。webClient.getOptions()setThrowExceptionOnScriptError(假);
答案 1 :(得分:0)
我不知道这是否会解决您的问题,但我有两件事情可以解决此问题(Javascript似乎没有点击元素):
form.getElementById("button")
代替getInputByName
Thread.sleep
等待(大约350毫秒似乎是神奇的数字)效果发生即便如此,我仍然会看到非确定性的测试失败,因为点击的影响有时似乎不会发生。