在 Web 浏览器中返回 HtmlElement 的所有属性
Posted
技术标签:
【中文标题】在 Web 浏览器中返回 HtmlElement 的所有属性【英文标题】:Return all attributes of an HtmlElement in Web browser 【发布时间】:2013-05-13 23:11:30 【问题描述】:我需要从我的 webbrowser 中获取所有属性。目前,我正在使用 GetAttribute() 但是这样,我需要知道属性的名称。 想象一下,我不知道我的网络浏览器中有什么。 我的 C# 代码:
StringWriter strWriter = new StringWriter();
XmlWriter xWriter = XmlWriter.Create(strWriter, new XmlWriterSettings() Indent = true );
xWriter.WriteStartElement("Items");
foreach (htmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA"))
xWriter.WriteStartElement("Item");
xWriter.WriteElementString("GUID", el.Id);
xWriter.WriteElementString("Type", el.GetAttribute("type").ToUpper());
xWriter.WriteElementString("Name", el.Name);
xWriter.WriteElementString("Value", el.GetAttribute("value"));
xWriter.WriteElementString("MaxLength", el.GetAttribute("maxlength"));
xWriter.WriteEndElement();
我搜索了很多,但没有找到任何有用的东西。
【问题讨论】:
我也尝试过使用 Html Agility Pack(htmlagilitypack.codeplex.com/wikipage?title=Examples),但这不是一个很好的解决方案。 【参考方案1】:我还没有尝试过,但我想这可能是一个解决方案或第一步。首先,你要参考microsoft.mshtml
foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA"))
HTMLTextAreaElement textarea = (HTMLTextAreaElement)el.DomElement;
xWriter.WriteStartElement("Item");
xWriter.WriteElementString("GUID", el.Id);
foreach (var attribute in textarea.attributes)
String name = attribute.name;
String value = attribute.value;
xWriter.WriteElementString(name, value);
xWriter.WriteEndElement();
【讨论】:
以上是关于在 Web 浏览器中返回 HtmlElement 的所有属性的主要内容,如果未能解决你的问题,请参考以下文章
IE 对 HTMLDocument 和 HTMLElement 有何影响
关于Typescript - HTMLElement上使用append / prepend函数的问题