c# webBrowser加载网页后只有Name属性怎么找控件

HtmlElement UserName = webBrowser1.Document.All["yqmc"];
这样是不行的,userName运行是Null
HtmlElement user = webBrowser.Document.GetElementById("user");
这样也不行。
把源代码放到一个HTM文件里加载能找到,直接加载网络上的页面就不行。会不会跟有form有关?
<form name="form1" method=get action=".\insert_zj.asp" target="printwin" autocomplete = "on" >
我是做一个设备添加页面的辅助程序。我截几个吧。
<tr bgcolor="#EFEFEF" >
<td >
<div align="right">仪器名称<font color=red>*</font></div>
</td>
<td >
<input type="text" name="yqmc" maxlength="40" size="34" onkeydown="javascript:if(event.keyCode==13)event.keyCode=9">
</td>
<td >
<div align="right">规格<font color=red>*</font></div>
</td>
<td colspan="3"> <font size="1">
<input type="text" name="gg" maxlength="50" value="*" size="40" onkeydown="javascript:if(event.keyCode==13)event.keyCode=9">
</font></td>
</tr>

应该有 GetElementByName不过返回的是个数组..还要在遍历一遍

补充.你好象取的Document对象有问题.我是这样取的

htmlDoc = (mshtml.HTMLDocument)this.webBrowser1.Document.DomDocument;
IHTMLElement element = htmlDoc.getElementById("fastpostmessage");

应该是取this.webBrowser1.Document.DomDocument; 这个

补充:你把页面的代码发出来我看看吧...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-18
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement hem = webBrowser1.Document.GetElementById("sb");
}
这个事件是文档加载完之后才执行。。。
第2个回答  2009-12-18
引用com--microsoft html object library

mshtml.HTMLDocument doc = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
mshtml.IHTMLElementCollection eles= doc.getElementsByName("yqmc");
foreach (mshtml.IHTMLElement ele in eles)
{
ele.innerText = "124";
}
第3个回答  2009-12-18
看着晕,原来是不懂。下面的回答
相似回答