htmlunit:复选框未被选中
htmlunit : checkbox not getting checked
我正在使用 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。为什么没有检查?
您可以尝试将 checked
属性添加到 <input>
元素吗?
好吧,它没有被选中,因为真正的浏览器不添加属性。
使用真实浏览器测试以下内容:
<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");
我正在使用 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。为什么没有检查?
您可以尝试将 checked
属性添加到 <input>
元素吗?
好吧,它没有被选中,因为真正的浏览器不添加属性。
使用真实浏览器测试以下内容:
<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");