好象没那么慢吧,我在FORMLOAD中加入了好多读注册表的代码等,好象不到10秒, HTMLDocument doc=(HTMLDocument)axWebBrowser1.Document; foreach(IHTMLElement iet in doc.getElementsByTagName("input")) { if (iet.value=="登录") iet.click(); }
我的方法应该能满足你的要求了,如果你的document中有两个以上VALUE=“登录”的INPUT元素的话,你可在判断时加入type=="submit" HTMLDocument doc=(HTMLDocument)axWebBrowser1.Document; foreach(IHTMLElement iet in doc.getElementsByTagName("input")) { if(iet is HTMLInputElementClass) { HTMLInputElementClass inp=(HTMLInputElementClass)iet; if (iet.value=="登录"&&inp.type=="submit") iet.click(); } }
可以用IHTMLDocument2接口跟IHTMLWindow2接口解决,方法是:
在引用那里添加 Microsoft mshtml 然后:
IHTMLWindow2 win=doc.parentWindow; string script="for(i=0;i<document.body.all.length;i++){";
script+="if(document.body.all[i].type==\"submit\"){alert(document.body.all[i].value); }}";
win.execScript(script,"javascript");
HTMLDocument doc=(HTMLDocument)axWebBrowser1.Document;
foreach(IHTMLElement iet in doc.getElementsByTagName("input"))
{
if (iet.value=="登录")
iet.click();
}
楼上的楼上的方法是用C#便利的
HTMLDocument doc=(HTMLDocument)axWebBrowser1.Document;
foreach(IHTMLElement iet in doc.getElementsByTagName("input"))
{
if(iet is HTMLInputElementClass)
{
HTMLInputElementClass inp=(HTMLInputElementClass)iet;
if (iet.value=="登录"&&inp.type=="submit")
iet.click();
}
}