想做一个功能,是对一个页面的操作,具体如何:
1.我用WebBrowser加载页面;
2.用代码实现网页内部点击功能;加载页面当然是没问题的;
但第二部却卡住了
网页代码如下:
<ul class="item-list-tabs item-list-tabs-flexible clearfix">
<li ><a href="#" onclick="changeDBOnline(this,'ALL')" hidefocus="true">所有订单</a></li>
<li ><a href="#" onclick="changeDBOnline(this,'NOT_PAID')" hidefocus="true">等待买家付款</a></li>
<li ><a href="#" onclick="changeDBOnline(this,'PAID')" hidefocus="true">等待发货</a></li>
</ul>
我想做的是对这些列表做点击操作,比如:页面默认是 所有订单 项显示,而我想加载网页后直接显现 等待发货。因为本人对delphi刚开始学,所以希望大家给点帮助,我尝试了很久用WebBrowser却不行,找了很多资料也没搞定。

解决方案 »

  1.   


    procedure TForm1.Button2Click(Sender: TObject);
    var
      doc:ihtmldocument2;
      Name,Password:IHTMLInputElement;
      tem : Olevariant;begin  if WebBrowser1.Busy then
        self.WebBrowser1.Stop;
       WebBrowser1.Navigate('http://www.xxx.com/login.php');
       while webbrowser1.ReadyState<>READYSTATE_COMPLETE do
        Application.ProcessMessages;
      if assigned(WebBrowser1) then
      begin
        doc := WebBrowser1.Document as ihtmldocument2;
        Name := doc.all.item('pwuser',0) as IHTMLInputElement;
        password := doc.all.item('pwpwd',0) as IHTMLInputElement;
        if EdtName.Text <> '' then
          Name.value := EdtName.Text
        else
          EdtName.SetFocus;
        if EdtPwd.Text <> '' then
          Password.value := EdtPwd.Text
        else
          EdtPwd.SetFocus;    tem := doc.all.item('submit',0);
        sleep(3000);
        tem.click;  end;
    end;这是模拟论坛登录过程,供lz参考