線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:11522
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

這個問題有解嗎?

答題得分者是:Clarinet
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-06-09 13:22:36 IP:61.217.xxx.xxx 未訂閱
各位高手請問一下,我在form上面放了一個webbrowser的物件,然後,我用這個程式來上網,我去的網站有些需要輸入帳號和密碼,我想請問一下,我能直接在這個程式上面再做一個輸入帳號和密碼的按鈕,下次進入網站的時候,只要按下按鈕就會自動輸入帳號和密碼.
我有個構想是用模擬滑鼠移動到網頁上的輸入帳號框,然後再用模擬鍵盤輸入的方式,自動輸入帳號,不知道這個方法可不可行,如果可行的話,請高手告訴我,程式碼要如何寫呢,謝謝
------
我是剛入門的子弟,請大家多多指教!
編輯記錄
Coffee 重新編輯於 2007-10-12 10:55:05, 註解 修改分類為問題‧
Coffee 重新編輯於 2007-10-12 10:55:11, 註解 修改分類為問題‧
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-06-09 16:50:04 IP:192.168.xxx.xxx 未訂閱
引言: 各位高手請問一下,我在form上面放了一個webbrowser的物件,然後,我用這個程式來上網,我去的網站有些需要輸入帳號和密碼,我想請問一下,我能直接在這個程式上面再做一個輸入帳號和密碼的按鈕,下次進入網站的時候,只要按下按鈕就會自動輸入帳號和密碼. 我有個構想是用模擬滑鼠移動到網頁上的輸入帳號框,然後再用模擬鍵盤輸入的方式,自動輸入帳號,不知道這個方法可不可行,如果可行的話,請高手告訴我,程式碼要如何寫呢,謝謝
有解,我曾寫過! 可否告訴我那一個網址,我示範給您看! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-06-09 20:35:05 IP:61.217.xxx.xxx 未訂閱
站長可否請你用這個網頁http://webhd.yam.com/Login.htm寫給示範給我看,因為我要進去的網站是有關個人隱私的,我希望在進入網頁後,按下按鈕,然後滑鼠就會自動移到帳號輸入區去輸入帳號,接著又跳到密碼區去輸入密碼,最後再移到登入按鈕上去按下按鈕,請問這樣會很困難嗎? 麻煩站長你了,謝謝
------
我是剛入門的子弟,請大家多多指教!
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-06-09 21:47:43 IP:61.219.xxx.xxx 未訂閱
引言: 站長可否請你用這個網頁http://webhd.yam.com/Login.htm寫給示範給我看,因為我要進去的網站是有關個人隱私的,我希望在進入網頁後,按下按鈕,然後滑鼠就會自動移到帳號輸入區去輸入帳號,接著又跳到密碼區去輸入密碼,最後再移到登入按鈕上去按下按鈕,請問這樣會很困難嗎? 麻煩站長你了,謝謝
試出來了,您先看看! 用鍵盤模擬輸入就可以了,不必用到滑鼠!
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OleCtrls, SHDocVw, StdCtrls, ExtCtrls;    type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;
  WaitInput:boolean=false;
implementation    {$R *.DFM}
Procedure PostKeyEx32( key: Word; Const shift: TShiftState;
                     specialkey: Boolean );
  Type
    TShiftKeyInfo = Record
                      shift: Byte;
                      vkey : Byte;
                    End;
    byteset = Set of 0..7;
  Const
    shiftkeys: Array [1..3] of TShiftKeyInfo =
      ((shift: Ord(ssCtrl); vkey: VK_CONTROL ),
       (shift: Ord(ssShift); vkey: VK_SHIFT ),
       (shift: Ord(ssAlt); vkey: VK_MENU ));
  Var
    flag: DWORD;
    bShift: ByteSet absolute shift;
    i: Integer;
  Begin
    For i := 1 To 3 Do Begin
      If shiftkeys[i].shift In bShift Then 
        keybd_event( shiftkeys[i].vkey,
                     MapVirtualKey(shiftkeys[i].vkey, 0),
                     0, 0);
    End; { For }
    If specialkey Then
      flag := KEYEVENTF_EXTENDEDKEY
    Else
      flag := 0;        keybd_event( key, MapvirtualKey( key, 0 ), flag, 0 );
    flag := flag or KEYEVENTF_KEYUP;
    keybd_event( key, MapvirtualKey( key, 0 ), flag, 0 );        For i := 3 DownTo 1 Do Begin
      If shiftkeys[i].shift In bShift Then
        keybd_event( shiftkeys[i].vkey,
                     MapVirtualKey(shiftkeys[i].vkey, 0),
                     KEYEVENTF_KEYUP, 0);
    End; { For }
  End; { PostKeyEx32 }    procedure TForm1.Button1Click(Sender: TObject);
begin
  waitinput:=true;
  webbrowser1.Navigate('http://webhd.yam.com/Login.htm');
end;
procedure InputIdPassword(id,password:string);
var i:integer;
begin
   id:=uppercase(id);
   password:=uppercase(password);
   for i:=1 to length(id) do
   begin
      PostKeyEx32(ord(id[i]),[],true);sleep(100);
   end;
   PostKeyEx32(9,[],true);sleep(100);
   for i:=1 to length(password) do
   begin
      PostKeyEx32(ord(password[i]),[],true);sleep(100);
   end;
   PostKeyEx32(9,[],true);sleep(1000);
   PostKeyEx32(ord(' '),[],true);sleep(100);
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if waitinput then
  begin
    waitinput:=false;
    InputIdPassword('YourID','YourPassword');
  end;
end;    end.    
~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-06-10 07:22:08 IP:61.217.xxx.xxx 未訂閱
我先試試看,謝謝站長
------
我是剛入門的子弟,請大家多多指教!
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-06-10 09:48:33 IP:218.32.xxx.xxx 未訂閱
試試看(有測試過可行): procedure TForm1.ToolButton2Click(Sender: TObject); var Docs, Edits : OleVariant; begin Docs :=WebBrowser1.Document; //此處只適用於http://webhd.yam.com/Login.htm該網頁的輸入 Edits :=Docs.GetElementByID('id'); Edits.Value :='您的帳號'; Edits :=WebBrowser1.OleObject.Document.all.Item('pwd', 0); Edits.Value :='您的密碼'; //登入 WebBrowser1.OleObject.Document.GetElementByID('Submit').Click; end;
------
GPS(全球衛星定位系統)
http://www.allgps.com
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-06-10 11:57:32 IP:192.168.xxx.xxx 未訂閱
引言: 試試看(有測試過可行): procedure TForm1.ToolButton2Click(Sender: TObject); var Docs, Edits : OleVariant; begin Docs :=WebBrowser1.Document; //此處只適用於http://webhd.yam.com/Login.htm該網頁的輸入 Edits :=Docs.GetElementByID('id'); Edits.Value :='您的帳號'; Edits :=WebBrowser1.OleObject.Document.all.Item('pwd', 0); Edits.Value :='您的密碼'; //登入 WebBrowser1.OleObject.Document.GetElementByID('Submit').Click; end;
我也試過可以,這個方法比我的好多了,不錯喔,謝謝分享! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-06-10 20:19:37 IP:61.225.xxx.xxx 未訂閱
如果我要換成這個網頁 https://www.uwccb.com.tw/netbank/default.asp 的話 程式要如何改寫,請站長跟各位高手指點一下,謝謝 ps:站長你寫的程式看起來好深奧,沒幾行我看的懂的,可能我是新手的關係
------
我是剛入門的子弟,請大家多多指教!
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-06-10 21:42:44 IP:192.168.xxx.xxx 未訂閱
引言: 如果我要換成這個網頁 https://www.uwccb.com.tw/netbank/default.asp 的話 程式要如何改寫,請站長跟各位高手指點一下,謝謝 ps:站長你寫的程式看起來好深奧,沒幾行我看的懂的,可能我是新手的關係
都看不懂?那Clarinet的寫法應該較易懂了吧! 若用Clarinet的寫法就是: procedure TForm1.ToolButton2Click(Sender: TObject); var Docs, Edits : OleVariant; begin Docs :=WebBrowser1.Document; //此處只適用於://www.uwccb.com.tw/netbank/default.asp 該網頁的輸入 Edits :=Docs.GetElementByID('CustIDTmp'); Edits.Value :='身分證字號'; Edits :=WebBrowser1.OleObject.Document.all.Item('CustPwdTmp', 0); Edits.Value :='理財密碼'; Edits :=WebBrowser1.OleObject.Document.all.Item('CustNickNameTmp', 0); Edits.Value :='用戶代號'; //登入 WebBrowser1.OleObject.Document.GetElementByID('Submit').Click; end; 您要加油喔! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-06-10 22:41:14 IP:61.217.xxx.xxx 未訂閱
站長我有試過上面的方法,只有自動輸入使用者代號這個地方, 而身份證和密碼這兩個地方不會自動輸入,是那裡有問題呢, 可以請站長再試一下嗎,謝謝
------
我是剛入門的子弟,請大家多多指教!
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-06-11 05:18:57 IP:192.168.xxx.xxx 未訂閱
引言: 站長我有試過上面的方法,只有自動輸入使用者代號這個地方, 而身份證和密碼這兩個地方不會自動輸入,是那裡有問題呢, 可以請站長再試一下嗎,謝謝
請試試下面的程式!
procedure TForm1.Button2Click(Sender: TObject);
var
Docs, Edits : OleVariant;
begin
Docs :=WebBrowser1.Document;    //此處只適用於://www.uwccb.com.tw/netbank/default.asp 該網頁的輸入
//Edits :=Docs.GetElementByID('CustIDTmp');
Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1);
Edits.Value :='身分證字號';
Edits :=WebBrowser1.OleObject.Document.all.Item ('CustPwdTmp', 1);
Edits.Value :='理財密碼';
Edits :=WebBrowser1.OleObject.Document.all.Item('CustNickNameTmp', 0);
Edits.Value :='用戶代號';    //登入
WebBrowser1.OleObject.Document.GetElementByID('Submit').Click;    end;    
您可於進入網頁後,按下滑鼠右鍵"檢視原始碼", 可以看到有兩個: <input type="text" name="CustIDTmp" size="18" maxlength="10" value=""> 所以要將 Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1); 設為1,表示要填第2個CustIDTmp! 同樣CustPwdTmp也是有兩個! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#12 引用回覆 回覆 發表時間:2002-06-11 10:38:14 IP:218.32.xxx.xxx 未訂閱
您可於進入網頁後,按下滑鼠右鍵"檢視原始碼", 可以看到有兩個: <input type="text" name="CustIDTmp" size="18" maxlength="10" value=""> 所以要將 Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1); 設為1,表示要填第2個CustIDTmp! 同樣CustPwdTmp也是有兩個! 您可以看看該網頁的原始碼,就可以發現其由兩個Form組成,各有各的,但名稱都一樣。 而站長的用法是取出Document內名稱為CustIDTmp,且為第二個。 所以寫成: Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1); 而若您對整個網頁架構有一點觀念的話,想想看Document的架構,您就可以將 Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1); 改寫成: Edits :=WebBrowser1.OleObject.Document.Forms.item(1).all.Item('CustIDTmp', 0); 看的懂嗎? 第二行只是多了=>Forms.item(1) 亦即為第二個Form ~~~Delphi K.Top討論區站長~~~ [/quote]
------
GPS(全球衛星定位系統)
http://www.allgps.com
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#13 引用回覆 回覆 發表時間:2002-06-11 11:23:45 IP:192.168.xxx.xxx 未訂閱
引言: 而若您對整個網頁架構有一點觀念的話,想想看Document的架構,您就可以將 Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1); 改寫成: Edits :=WebBrowser1.OleObject.Document.Forms.item(1).all.Item('CustIDTmp', 0);
Clarinet兄,您對OleObject.Document的觀念好像很好喔! 可否提供有關這方面的參考資料與網頁介紹,謝謝您! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#14 引用回覆 回覆 發表時間:2002-06-11 18:07:28 IP:218.32.xxx.xxx 未訂閱
站長大人: 好說了。 小弟之前有研究過一下這部份,所以剛好瞭解一點點。 有一個網站提供給大家: http://www.25emuhome.com/column/learn/ 希望對有興趣的人有幫助。
------
GPS(全球衛星定位系統)
http://www.allgps.com
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#15 引用回覆 回覆 發表時間:2002-06-11 19:27:04 IP:61.219.xxx.xxx 未訂閱
引言: 站長大人: 好說了。 小弟之前有研究過一下這部份,所以剛好瞭解一點點。 有一個網站提供給大家: http://www.25emuhome.com/column/learn/ 希望對有興趣的人有幫助。
感恩推薦,謝謝您! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#16 引用回覆 回覆 發表時間:2002-06-11 19:55:18 IP:61.225.xxx.xxx 未訂閱
感謝站長及各位高手,讓我又增長了許多知識,如果現在我要自動輸入的網頁不只一頁也可以用這種方法嗎,就像是上面的網頁一樣,進去後裡面又有要輸入的項目,用上面的方法也可行嗎?
------
我是剛入門的子弟,請大家多多指教!
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#17 引用回覆 回覆 發表時間:2002-06-11 21:15:43 IP:192.168.xxx.xxx 未訂閱
引言: 感謝站長及各位高手,讓我又增長了許多知識,如果現在我要自動輸入的網頁不只一頁也可以用這種方法嗎,就像是上面的網頁一樣,進去後裡面又有要輸入的項目,用上面的方法也可行嗎?
也可以!但要等本頁動作完成才能進行下一頁的輸入, 您可使用TWEbBrowser的onDocumentComplete事件來判斷本頁是否顯示完成! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#18 引用回覆 回覆 發表時間:2002-06-11 21:58:31 IP:61.225.xxx.xxx 未訂閱
如果遇到按下按鈕後,就會再跳出另一個登入畫面的,要如何寫自動輸入的程式呢? ps:像這個網站https://etrade.pscnet.com.tw/message/attention.htm按下進入下單畫面後,就會另外跳出登入畫面,有解嗎
------
我是剛入門的子弟,請大家多多指教!
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#19 引用回覆 回覆 發表時間:2002-06-11 22:19:54 IP:192.168.xxx.xxx 未訂閱
引言: 如果遇到按下按鈕後,就會再跳出另一個登入畫面的,要如何寫自動輸入的程式呢? ps:像這個網站https://etrade.pscnet.com.tw/message/attention.htm按下進入下單畫面後,就會另外跳出登入畫面,有解嗎
還是有解,您可在WebBrowser1的InNewWindow2事件中導至WebBrowser2, 如: procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); begin WebBrowser2.RegisterAsBrowser:=true; ppdisp := WebBrowser2.DefaultDispatch end; 再將WebBrowser2的OnBeforeNavigate2事件中再導回WebBrowser1中就可以了! 如下: procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin WebBrowser1.Navigate(WideString(Url)); cancel:=false; end; 您先試看看! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#20 引用回覆 回覆 發表時間:2002-06-11 22:27:05 IP:61.225.xxx.xxx 未訂閱
我還是用不出來,只有麻煩站長跟各位高手幫我試一下這個網站了,如果可以的話,再請你們把程式碼pm出來給我看,謝謝
------
我是剛入門的子弟,請大家多多指教!
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#21 引用回覆 回覆 發表時間:2002-06-12 18:05:49 IP:218.32.xxx.xxx 未訂閱
您乾脆直接這樣用好了: 用法: http://username:password@w... 套用如下: 該Link為 https://etrade.pscnet.com.tw/psc/index.html 所以直接下: https://Clarinet:Clarinet@etrade.pscnet.com.tw/psc/index.html
------
GPS(全球衛星定位系統)
http://www.allgps.com
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#22 引用回覆 回覆 發表時間:2002-06-14 19:33:55 IP:61.225.xxx.xxx 未訂閱
再請教站長跟各位高手,這個http://home.kimo.com.tw/warrant168/Price.htm網頁的自動輸入要如何寫,這個網頁我已經試了好久就是試不出來,那個按鈕是圖片加連結,所以不知道要如何寫,請站長跟各位高手再幫我試一下,謝謝!
------
我是剛入門的子弟,請大家多多指教!
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#23 引用回覆 回覆 發表時間:2002-06-17 17:59:36 IP:218.32.xxx.xxx 未訂閱
引言: 再請教站長跟各位高手,這個http://home.kimo.com.tw/warrant168/Price.htm網頁的自動輸入要如何寫,這個網頁我已經試了好久就是試不出來,那個按鈕是圖片加連結,所以不知道要如何寫,請站長跟各位高手再幫我試一下,謝謝!
您可以看到此頁是一個Fram的架構,所以如下: WebBrowser1.OleObject.Document.documentelement.document.frames.Item(0).Document.Links.Item(0).Click;
------
GPS(全球衛星定位系統)
http://www.allgps.com
sanwin
一般會員


發表:20
回覆:60
積分:16
註冊:2002-06-03

發送簡訊給我
#24 引用回覆 回覆 發表時間:2002-06-17 19:29:14 IP:61.225.xxx.xxx 未訂閱
要如何才能看出是Form還是frame呢?請Clarinet兄講解一下,謝謝! 我是剛入門的子弟,請大家多多指教!
------
我是剛入門的子弟,請大家多多指教!
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#25 引用回覆 回覆 發表時間:2002-06-18 09:22:07 IP:218.32.xxx.xxx 未訂閱
引言: 要如何才能看出是Form還是frame呢?請Clarinet兄講解一下,謝謝! 我是剛入門的子弟,請大家多多指教!
若您對HTML語法不熟的話,建議您可先讀讀此類的書,這樣您可對其整個語法架構有進一步的瞭解。 frame的話您可以在原始檔內看到如下: <FRAMESET> ...........</FRAMESET>包起來的語句 而裡面會有<FRAME>來指明有多少個frame。 這種稱為“分割視窗”。 form的話您可以看到如下: <FORM> .............</FORM> 而裡面還會有其他的標籤,如
------
GPS(全球衛星定位系統)
http://www.allgps.com
newfan123
一般會員


發表:0
回覆:1
積分:0
註冊:2003-04-03

發送簡訊給我
#26 引用回覆 回覆 發表時間:2003-04-03 13:07:58 IP:218.5.xxx.xxx 未訂閱
如下网页中的表单采用图象按钮,请问如何在WebBrowser中模拟点击进行自动提交? --------------------------------------------------------------- <HTML><HEAD><TITLE>test</TITLE> </HEAD> <form name=form1 method=post action="tijiao.asp">             <table>                 <tr>                    <td>                        Name:                        <input type=text class=input name=t1 >                       
Pass: <input type=text class=input name=t2>
<input type=image src="images/submit.gif" width="70" height="18" >
<input type=hidden name=submit value=1> </td> </tr> </table> </form> </BODY></HTML> ------------------------------------------------------------------------
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#27 引用回覆 回覆 發表時間:2003-05-04 16:25:57 IP:61.221.xxx.xxx 未訂閱
關於 <input type=image> 這種的 submit button, 可以利用 form.submit 的方式來進行表單的送出, 請參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29896 發表人 - timhuang 於 2003/05/04 16:26:43
softice
一般會員


發表:0
回覆:1
積分:0
註冊:2003-05-06

發送簡訊給我
#28 引用回覆 回覆 發表時間:2003-05-07 11:12:09 IP:218.1.xxx.xxx 未訂閱
<input name=HTMLfile1 type=file size=35> type=file 的控件怎么用这种方法不行啊?
jiannrong
一般會員


發表:58
回覆:36
積分:18
註冊:2002-05-09

發送簡訊給我
#29 引用回覆 回覆 發表時間:2003-05-09 13:47:10 IP:140.109.xxx.xxx 未訂閱
請教一下 Edits :=Docs.GetElementByID('A'); Edits :=WebBrowser1.OleObject.Document.all.Item('B', 0); A與B這兩種欄位有何不同呢?! 謝謝
ajuang
一般會員


發表:7
回覆:11
積分:3
註冊:2004-08-30

發送簡訊給我
#30 引用回覆 回覆 發表時間:2004-08-30 15:11:19 IP:61.220.xxx.xxx 未訂閱
引言: [quote] 站長我有試過上面的方法,只有自動輸入使用者代號這個地方, 而身份證和密碼這兩個地方不會自動輸入,是那裡有問題呢, 可以請站長再試一下嗎,謝謝
請試試下面的程式!

procedure TForm1.Button2Click(Sender: TObject);
var
Docs, Edits : OleVariant;
begin
Docs :=WebBrowser1.Document;    //此處只適用於://www.uwccb.com.tw/netbank/default.asp 該網頁的輸入
//Edits :=Docs.GetElementByID('CustIDTmp');
Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1);
Edits.Value :='身分證字號';
Edits :=WebBrowser1.OleObject.Document.all.Item ('CustPwdTmp', 1);
Edits.Value :='理財密碼';
Edits :=WebBrowser1.OleObject.Document.all.Item('CustNickNameTmp', 0);
Edits.Value :='用戶代號';    //登入
WebBrowser1.OleObject.Document.GetElementByID('Submit').Click;    end;    [/code]
您可於進入網頁後,按下滑鼠右鍵"檢視原始碼",
可以看到有兩個:
<input type="text" name="CustIDTmp" size="18" maxlength="10" value="">
所以要將
Edits :=WebBrowser1.OleObject.Document.all.Item ('CustIDTmp', 1);
設為1,表示要填第2個CustIDTmp!
同樣CustPwdTmp也是有兩個!        ~~~Delphi K.Top討論區站長~~~
    站長, Delphi我不會. 我嘗試用C   builder, 但是失敗.是否有能人志士可改為以供參考,謝謝^_^. (我在C   builder討論區找不到相關程式!!! )     
        
Blueberrug
一般會員


發表:14
回覆:50
積分:17
註冊:2005-05-22

發送簡訊給我
#31 引用回覆 回覆 發表時間:2007-03-28 20:29:13 IP:59.120.xxx.xxx 訂閱
您好:
這各網站 http://www.25emuhome.com/column/learn/ 我已經無法瀏覽
不知道是否有其他網站可以看呢?

另外我試過這樣的登入方式,
不過若同一個網站有兩組帳號的話,
我是利用ComboBox來切換使用者登入該網站,
但因為IE的Cookie關係,
永遠都只會登入第一位使用者的帳號
卻無法登入第二位使用者的帳號
不知道是否有方法解決呢?
若是要用清除cookie的方式,
是否只能清除關於第一組使用者登入的Cookies呢?
謝謝各位的幫忙啊!



===================引 用 文 章===================
[<<] [1] [2] [>>]
系統時間:2024-11-24 20:21:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!