使用HtmlUnit单击javascript按钮
Clicking a javascript button with 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运行。(用browers手动填写表格,效果很好。)谢谢你的帮助。
确保在代码中启用JS
webClient.getOptions().setJavaScriptEnabled(true);webClient.getOptions().setSthrowExceptionOnScriptError(false);
我不知道这是否能解决你的问题,但为了解决这个问题,我做了两件不同的事情(Javascript似乎不会点击元素):
- 使用
form.getElementById("button")
而不是getInputByName
- 使用
Thread.sleep
等待效果发生(大约350ms似乎是一个神奇的数字)
即便如此,我仍然会看到非决定性的测试失败,因为点击的效果有时似乎不会发生。
相关文章:
- 复制当前url按钮-Javascript
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- 在单击按钮时激活按钮的悬停状态,直到单击另一个按钮(Javascript/JQuery)
- 从导航按钮 JavaScript 中删除动画
- IE8中的FB共享按钮Javascript错误
- 表单验证上的彩色单选按钮-Javascript
- 通过一个按钮JAVASCRIPT更改style.display在多个对象上的显示
- 变暗图像滑块/按钮 - Javascript
- 下载pdf/word按钮javascript /jquery
- 带有单选按钮 JavaScript 的随机测验
- C# Web 浏览器 - 如何单击此按钮 (Javascript)
- 获取按钮 Javascript 的宽度,不带“px”
- 自动点击提交按钮 javascript
- 保存和关闭按钮 javascript
- 使用按钮 javascript 在 forloop 中创建 Cookie
- 搜索下一个按钮 javascript
- 保存状态单选按钮javascript html
- 使用类型按钮javascript提交表单
- 点击提交按钮Javascript HTML后显示表格数据
- 使用%用单按钮JavaScript函数交换图像