C# 使用代码取消选中HTML复选框

C# 使用代码取消选中HTML复选框,c#,html,checkbox,webbrowser-control,C#,Html,Checkbox,Webbrowser Control,我正在制作一个机器人,它有一个WebBrowser控件,可以加载一些页面。有一个复选框,我想被我的机器人取消选中。现在我正在使用以下代码: HtmlElementCollection elc = this.BotBrowser.Document.GetElementsByTagName("input"); foreach (HtmlElement el in elc) { if (el.GetAttribute("value").Equals("Leishmania mexicana")

我正在制作一个机器人,它有一个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");

    }
}
但这似乎并不完美,因为它有时会重新检查复选框,因为此bot必须加载页面并执行任务100多次

以下是复选框的HTML标记:

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

是否有任何方法可以删除此属性或将其选中的属性设置为null?

首先将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;

                    }
}
试试这个

el.SetAttribute("checked", null);

据我所知,它只是一个属性。它看起来确实像一个属性,是否有任何特定的名称或任何进一步描述它的链接(如msdn),我将对此表示感谢谢谢!比调用记忆(“单击”)