本帖最后由 shooter1979 于 2012-06-09 09:07:18 编辑

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      WebBrowser1.Navigate('http://10.3.26.147/query/itemQueryAction.do?method=singleItemTrackQuery&itemno=ej834449550cs');  //button6.Click;
    end;var
      CurDispatch: IDispatch; {save the interface globally }{WebBrowser1的OnNavigateComplete2事件}
    procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
    begin
      if CurDispatch = nil then
        CurDispatch := pDisp; { save for comparison }
    end;{WebBrowser1的OnDocumentComplete事件}
    procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
    begin
      if (pDisp = CurDispatch) then {the document is loaded, not just a frame }
      begin
        button6.Click; {在网页完全加载完之后才执行} 
        CurDispatch := nil; {clear the global variable }
      end;
    end;
      

  2.   

    或在WebBrowser1DocumentComplete设置一个全局状态变量bOpenOk:=true;procedure TForm1.Button1Click(Sender: TObject);
    begin
      bOpenOk:=false;
      WebBrowser1.Navigate('http://*.*.*.*/query/itemQueryAction.do?method=TrackQuery&itemno=123456789');  while not bStop and not bOpenOk do
      begin
        sleep(100);
        application.progressmessages;
      end;
      button6.Click;
    end;
      

  3.   

    多谢 s11ss
        真的很有用!请教 sz_haitao
        或在WebBrowser1DocumentComplete设置一个全局状态变量bOpenOk:=true;    或者 和 设置全局变量是什么意思啊!?
      

  4.   

    多谢 sz_haitao
    是不是有两个变量:bStop 和 bOpenOk