2017-04-01 129 views
1

我正在使用HtmlUnit设置页面中的复选框。对于复选框HTML代码:htmlunit:未勾选复选框

<input id="Checkbox" type="checkbox" name="Checkbox" style="color:Black;"/> 

我的Java代码来设置复选框:

 HtmlCheckBoxInput checkBox = page.getHtmlElementById("Checkbox"); 
     checkBox.setChecked(true); 

     FileUtils.writeStringToFile(new File("src/test/page-dumps/page-3.html"),page.asXml(),"UTF-8"); 

当我在浏览打开page-3.html,ckeckbox是听之任之。为什么不检查?

回答

3

嗯,它不会被检查,因为真正的浏览器不会添加一个属性。

测试下面真正的浏览器:

<html><head> 
<script> 
    function test() { 
    var e = document.getElementById('myid'); 
    e.checked = true; 
    alert(e.outerHTML); 
    } 
</script> 
</head><body onload="test()"> 
    <input type=checkbox id=myid> 
</body></html> 

还有就是

<input type="checkbox" id="myid"> 

没有任何checked属性的警报。

您应该改用:

checkBox.setAttribute("checked", "checked"); 
1

您可以尝试将checked属性添加到<input>元素吗?