C# 使用代码取消选中HTML复选框
我正在制作一个机器人,它有一个WebBrowser控件,可以加载一些页面。有一个复选框,我想被我的机器人取消选中。现在我正在使用以下代码: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")
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),我将对此表示感谢谢谢!比调用记忆(“单击”)