GetElementsByTagName不返回webbrowser控件中的元素

时间:2012-04-14 16:30:18

标签: c# webbrowser-control getelementsbytagname

我正在尝试使用C#中的webbrowser控件来阅读HTML源代码。

HTML源包含以下行:

  

input class =“myclass”name =“commit”type =“submit”value =“Submit”

我试图通过使用以下代码来阅读上述内容:

HtmlElementCollection buttonElement = webBrowser1.Document.GetElementsByTagName("commit");

但它不会返回任何元素。我打印了buttonElement.Count值,它打印为0。

当我右键单击webbrowser控件并查看源代码时,我可以看到此元素“commit”存在,并且没有其他元素通过此名称。

1 个答案:

答案 0 :(得分:2)

标签名称为input。因此,您的代码应该是这样的

var element = webBrowser.Document.GetElementsByTagName("input")
            .Cast<HtmlElement>()
            .Where(e => !String.IsNullOrEmpty(e.GetAttribute("name")) &&  e.GetAttribute("name") == "commit")
            .FirstOrDefault();