WebBrowser触发网页函数问题!(100)

  • 主题发起人 主题发起人 Ekin
  • 开始时间 开始时间
E

Ekin

Unregistered / Unconfirmed
GUEST, unregistred user!
我用WebBrowser成功登陆进网站后台,比如网页上有这样一个“保存”按钮 ,<input type="button" onclick="javascript:Save(NUM)" onmousedown="return aliclick(this,'?');" value="保存" class="btn_2" /> 其实就是一个javascript的函数,请问如何能触发到这个按钮,如在WebBrowser.Navigate(Http://www.XXXXXX) 之类的一串地址来模拟按下这个按钮,而不用打开网页去用鼠标点下保存按钮。
 
http://blog.csdn.net/a131988/archive/2009/05/12/4172970.aspx
 
首先看看这个页面的源文件,找到你要控制的控件名字,在程序中取得这个控件,使用click方法即可,翻到一个10年前做的东西,复制段给你参考下:var o : OleVariant; doc := WebBrowser1.document as IHTMLDocument2; EnterFrame(doc , 0); o := doc.all.item('username',0); //找到登录用户名的输入框 k:=DM.tblAccount['username']; o.value := k; o := doc.all.item('passwd',0); //找到登录密码的输入框 k:=DM.tblAccount['password']; o.value := k; o := doc.all.item('Submit2',0); //找到登录密码的输入框 o.click;
 
进入网页后,再导航到这个JAVASCRIPT协议试试:WebBrowser.Navigate('javascript:Save(NUM);void(0);');
 
var IHtmlWin:IHTMLWindow2; IHtmlDoc:IHtmlDocument2;begin IHtmlDoc:= WebBrowser1.Document as IHtmlDocument2 ; IHtmlWin:=IHtmlDoc.parentWindow; IHtmlWin.execScript(Save(NUM)','javascript'); -----------------------------------------------我用以上方法可以触发到Save(NUM)函数,但是偶尔在执行IHtmlWin.execScript(Save(NUM)','javascript'); 的时候会报“缺少对象”,80020101编号的错误。。并不是每次都报,偶尔,不知何解!!!!!!
 
后退
顶部