htmlunit:未选中复选框

时间:2017-04-01 06:29:24

标签: java html htmlunit

我正在使用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。为什么不检查?

2 个答案:

答案 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>元素吗?