控制IE打开的页面:比如更改某个输入框的内容、模拟某个按钮的点击事件。
这些我用WebBrowser已经实现,但WebBrowser打开一个窗口里会丢失session,
现在我想直接打开IE(这个我已经实现),再去控制页面里的元素,
请各位高手帮忙,谢谢!

解决方案 »

  1.   

    这需要com开发经验,你可以看看行舟的例子,他的主页怎么打不开了?
    www.xingzhou.com应该是这个的啊
      

  2.   

    uses Comobj; // 注意(~_~)procedure TForm1.Button1Click(Sender: TObject);
    var
      IEApp,Docs,ovElements: OLEVariant;
      i: integer;
    begin 
      IEApp := CreateOLEObject('InternetExplorer.Application');
      IEApp.Visible := True;
      IEApp.Navigate('http://www.csdn.net/member/login.asp');
      while IEApp.ReadyState < READYSTATE_COMPLETE do
        Application.ProcessMessages;  Docs := IEApp.Document;
    //-- <input name=login_name ID="login_name">
      ovElements := Docs.GetElementByID('login_name');
      ovElements.Value :='your_UserName';
    //-- <input type=password name=password ID="password">
      ovElements := Docs.GetElementByID('password');
      ovElements.Value :='your_Password';//-- <input type="image" src="/member/images/go.gif">
      ovElements := Docs.all.tags('INPUT');
      for i := 0 to (ovElements.Length - 1) do
        if UpperCase(ovElements.item(i).type) = 'IMAGE' then
          ovElements.item(i).Click;
    end;説明:在上述SOURCE中、輸入NI在CSDN的用户名和密码