本文介绍了为什么HtmlElement元素的的getAttribute()方法返回" mshtml.HTMLInputElementClass"替代属性的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么的HtmlElement
的的getAttribute()
方法返回 mshtml.HTMLInputElementClass
替代属性的值,当我试图获得一种形式的行动的价值
属性?
HtmlElementCollection元素= webBrowser1.Document.Forms;
的foreach(中元素的HtmlElement元素)
MessageBox.Show(element.GetAttribute(行动)+);
解决方案
这似乎是一个IE漏洞。
下面是一个解决方案:添加引用Microsoft.mshtml ,然后:
如果(element.GetAttribute(行动)。等于(mshtml.HTMLInputElementClass))
{
mshtml.IHTMLFormElement iForm =(mshtml.IHTMLFormElement)element.DomElement;
串动= iForm.action;
}
希望这有助于:)
Why does HtmlElement
's GetAttribute()
method return mshtml.HTMLInputElementClass
instead of the attribute's value, when I'm trying to obtain the value of a form's action
attribute?
HtmlElementCollection elements = webBrowser1.Document.Forms;
foreach (HtmlElement element in elements)
MessageBox.Show(element.GetAttribute("action") + "");
解决方案
It seems to be an IE bug.
Here is a solution : add a reference to Microsoft.mshtml, then :
if(element.GetAttribute("action").Equals("mshtml.HTMLInputElementClass"))
{
mshtml.IHTMLFormElement iForm = (mshtml.IHTMLFormElement)element.DomElement;
string action = iForm.action;
}
Hope this help :)
这篇关于为什么HtmlElement元素的的getAttribute()方法返回" mshtml.HTMLInputElementClass"替代属性的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!