C# GetElementsByTagName未返回webbrowser控件中的元素
我正在尝试使用C#中的webbrowser控件读取HTML源代码 HTML源包含以下行: 输入class=“myclass”name=“commit”type=“submit”value=“submit” 我尝试使用以下代码阅读上述内容:C# GetElementsByTagName未返回webbrowser控件中的元素,c#,webbrowser-control,getelementsbytagname,C#,Webbrowser Control,Getelementsbytagname,我正在尝试使用C#中的webbrowser控件读取HTML源代码 HTML源包含以下行: 输入class=“myclass”name=“commit”type=“submit”value=“submit” 我尝试使用以下代码阅读上述内容: HtmlElementCollection buttonElement = webBrowser1.Document.GetElementsByTagName("commit"); 但它不返回任何元素。我打印了buttonElement.Count值,它打印
HtmlElementCollection buttonElement = webBrowser1.Document.GetElementsByTagName("commit");
但它不返回任何元素。我打印了buttonElement.Count值,它打印0
当我在webbrowser控件中单击鼠标右键并查看源代码时,我可以看到这个元素“commit”在那里,并且没有其他同名元素。它的标记名是
input
。因此,您的代码应该是这样的
var element = webBrowser.Document.GetElementsByTagName("input")
.Cast<HtmlElement>()
.Where(e => !String.IsNullOrEmpty(e.GetAttribute("name")) && e.GetAttribute("name") == "commit")
.FirstOrDefault();
var element=webBrowser.Document.GetElementsByTagName(“输入”)
.Cast()
.Where(e=>!String.IsNullOrEmpty(e.GetAttribute(“名称”))和&e.GetAttribute(“名称”)==“提交”)
.FirstOrDefault();
它是一个属性,而不是元素。