单击带有HtmlUnit的javascript按钮

时间:2013-12-01 12:22:21

标签: java javascript button htmlunit

我正在尝试使用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运行。 (手动填写表单,使用浏览器,工作正常。)感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

确保在代码中启用JS

webClient.getOptions()setJavaScriptEnabled(真)。 。webClient.getOptions()setThrowExceptionOnScriptError(假);

答案 1 :(得分:0)

我不知道这是否会解决您的问题,但我有两件事情可以解决此问题(Javascript似乎没有点击元素):

  • 使用form.getElementById("button")代替getInputByName
  • 使用Thread.sleep等待(大约350毫秒似乎是神奇的数字)效果发生

即便如此,我仍然会看到非确定性的测试失败,因为点击的影响有时似乎不会发生。