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">

この属性を削除したり、checked属性を null に設定したりする方法はありますか?

4

2 に答える 2

5

これを試して

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

最初に mshtml (com タブの Microsoft Html Object Library) 名前空間をプロジェクトにインポートします。次に、これを使用します

    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 に答える