分享

delphi?webbrowser查找对象实现自动登录

 独孤求财 2012-04-28
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw,doudou, ExtCtrls;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Edit3: TEdit;
    login: TButton;
    gourl: TButton;
    infen: TButton;
    zhuanfen: TButton;
    back: TButton;
    Memo1: TMemo;
    Button1: TButton;
    Timer1: TTimer;
    Edit1: TEdit;
    Button2: TButton;
    Button3: TButton;
    procedure loginClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure gourlClick(Sender: TObject);
    procedure infenClick(Sender: TObject);
    procedure zhuanfenClick(Sender: TObject);
    procedure backClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
//    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

  procedure   TForm1.loginClick(Sender:   TObject);
  var
            Olevariant;
        s:string;
  begin
        :=   WebBrowser1.OleObject.document.all.item('UserName',0);       //找到登录用户名的输入框
        :=   memo1.Lines.Strings[0];
      o.value   := getchars(s,'|','|');
        :=   WebBrowser1.oleobject.document.all.item('Password',0);   //找到登录密码的输入框
      o.value   := getchars(s,'*','*');
        :=   WebBrowser1.oleobject.document.all.item('TheCode',0);   //找到登录密码的输入框
      o.value   :=   trim(edit3.text);
        :=WebBrowser1.oleobject.document.all.item('登录',0);                     //提交
      o.Click;
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    webbrowser1.Navigate('http://www./login.html');
    //timer1.Enabled:=true;
end;


procedure TForm1.gourlClick(Sender: TObject);
begin
    webbrowser1.Navigate('http://www./UserTradeKey.asp');
end;





procedure TForm1.infenClick(Sender: TObject);
var   
      ovElements:   OleVariant;   
      i:   Integer;
  var
            Olevariant;
var
  s:string;
  begin
        :=   memo1.Lines.Strings[0];
        :=   WebBrowser1.OleObject.document.all.item('TradeKey',0);       //找到登录用户名的输入框
      o.value   := trim(getchars(s,'*','*'))+'84';
        :=   WebBrowser1.oleobject.document.all.item('TheCode',0);   //找到登录密码的输入框
      o.value   :=   trim(edit3.text);

      ovElements   :=   WebBrowser1.OleObject.Document.forms.item(0).elements;
      for     :=     to   (ovElements.Length     1)   do
        if   (ovElements.item(i).type     'submit')   and
              (ovElements.item(i).Value     '进入交易区')   then
              ovElements.item(i).Click;
  end;

procedure TForm1.zhuanfenClick(Sender: TObject);
  var
            Olevariant;

var
      ovElements:   OleVariant;
      i:   Integer;
begin
        :=   WebBrowser1.OleObject.document.all.item('ToUser',0);       //找到登录用户名的输入框
      o.value   :=   trim(edit1.text);

      ovElements   :=   WebBrowser1.OleObject.Document.forms.item(0).elements;
      for     :=     to   (ovElements.Length     1)   do
        if   (ovElements.item(i).type     'button')   and
              (ovElements.item(i).Value     '确认转帐')   then
              ovElements.item(i).Click;
end;

procedure TForm1.backClick(Sender: TObject);
begin
webbrowser1.Navigate('http://www./Login.asp?TheAct=Out');
memo1.Lines.Delete(0);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s:string;

  var
            Olevariant;

var   
      ovElements:   OleVariant;
      i:   Integer;
begin
  //TradeKey   TradeKey2
          :=   memo1.Lines.Strings[0];
        :=   WebBrowser1.OleObject.document.all.item('TradeKey',0);       //找到登录用户名的输入框
      o.value   := trim(getchars(s,'*','*'))+'84';
        :=   WebBrowser1.OleObject.document.all.item('TradeKey2',0);       //找到登录用户名的输入框
      o.value   := trim(getchars(s,'*','*'))+'84';

      ovElements   :=   WebBrowser1.OleObject.Document.forms.item(0).elements;
      for     :=     to   (ovElements.Length     1)   do
        if   (ovElements.item(i).type     'button')   and
              (ovElements.item(i).Value     '确认修改')   then
              ovElements.item(i).Click;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
    if windows.GetFocus <> edit3.Handle then
    begin
    windows.SetFocus(edit3.Handle) ;
    edit3.SetFocus;
    Edit3.SelectAll;
    end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   timer1.Enabled:= true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   timer1.Enabled:= false;
end;

end.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多