2

我正在制作一个机器人,它有一个可以加载一些页面的 WebBrowser 控件。我希望我的机器人取消选中一个复选框。现在我正在使用这段代码:

HtmlElementCollection elc = this.BotBrowser.Document.GetElementsByTagName("input");
foreach (HtmlElement el in elc)
{
    if (el.GetAttribute("value").Equals("Leishmania mexicana")) //to uncheck Leishmania mexicana checkbox
    {
        el.InvokeMember("click");

    }
}

但这似乎并不完美,因为它有时会重新选中复选框,因为该机器人必须加载页面并执行超过 100 次任务。

这是复选框的 HTML 标记:

<input type="checkbox" class="jstree-real-checkbox" id="array(BlastDatabaseOrganism)" name="array(BlastDatabaseOrganism)" value="Leishmania mexicana" checked="checked">

有什么方法可以删除此属性或将其选中属性设置为 null?

4

2 回答 2

5

试试这个

el.SetAttribute("checked", null);
于 2012-10-18T21:47:47.073 回答
1

首先将 mshtml(com 选项卡下的 Microsoft Html 对象库)命名空间导入您的项目。然后用这个

    using mshtml;


HtmlElementCollection elc = this.BotBrowser.Document.GetElementsByTagName("input");
foreach (HtmlElement el in elc)
{
      if (el.GetAttribute("value").Equals("Leishmania mexicana")) //to uncheck Leishmania mexicana checkbox
                    {
                            HTMLInputElement elm = el.DomElement as HTMLInputElement;
                          elm.@checked = false;

                    }
}
于 2012-10-18T21:45:58.860 回答