确定是否在C#中检查了HTML Input元素

时间:2016-06-30 17:23:38

标签: c# html

我正在处理的应用程序的一部分需要告诉我们检查网页上的一组单选按钮。我到目前为止编写的代码不起作用:

foreach(HtmlElement element in thgBrowser.Document.All)
{
   if (element.Name == "Category" && element.GetAttribute("checked") == "checked")
      return element.GetAttribute("value");
}

据我所知,即使“checked”是布尔值,该属性也设置为checked或checked =“checked”。因此,当我尝试

时出现错误
...GetAttribute("checked") == true

我尝试了另外两种方法,但都失败了。我试过了:

...GetAttribute("checked") != null

这使得我总是得到组中第一个单选按钮的值,无论选择哪一个。另一种失败的方法是在原始代码片段中,我使用:

...GetAttribute("checked") == "checked"

这使得没有任何按钮被识别为被检查。有谁知道我能这样做的方法吗?

1 个答案:

答案 0 :(得分:1)

GetAttribute返回字符串。

如果元素具有checked属性,则方法将返回True;否则将返回False

你可以做两件事:

解析字符串

if (element.Name == "Category" && Convert.ToBoolean(element.GetAttribute("checked"))
    return element.GetAttribute("value");

或将其与布尔字符串

进行比较
if (element.Name == "Category" && element.GetAttribute("checked") == bool.TrueString)
    return element.GetAttribute("value");