我正在使用HtmlUnit在页面中设置复选框。复选框的Html代码为:
<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。为什么不检查?
答案 0 :(得分: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 :(得分:1)
您可以尝试将checked
属性添加到<input>
元素吗?