ucdesign2
一般會員
發表:24 回覆:33 積分:11 註冊:2002-10-23
發送簡訊給我
|
請教先進: 網頁中找不到登入按鈕的name或id我該如何自動登入?
貼上網頁source及程式,請各位前輩指點,謝謝!我已查了論壇中的相關文章,
耗了2天,還是解決不了,只好請大家幫忙了
我要登入Logmein的網頁: --> https://secure.logmein.com/home.asp?lang=en
================================================================
<form name="login" method=post action="/logincheck.asp?action=checkpw">
Password
<input name="<font color="#ff0000">password" type="password" size="20" style="width: 160px; font-size: 12px">
=======================我的程式碼========================================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw;
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
logon:Boolean;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('https://secure.logmein.com/home.asp?lang=en');
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
docs,edits:OleVariant;
begin
if WebBrowser1.Document=nil then exit;
docs:= webbrowser1.document;
if not logon then
begin
edits:=docs.getelementbyid('email');
edits.value:='ucdesign@126.com';
edits:=docs.getelementbyid('password');
edits.value:='xxxxxxx';
// docs.forms.item(0,3).submit;
// WebBrowser1.OleObject.Document.GetElementByID('login').Click;
logon:=true;
end;
end;
end.
ucdesign2
一般會員
發表:24 回覆:33 積分:11 註冊:2002-10-23
發送簡訊給我
|
問題已解決! 但一直期待有人回應!看看是否有更好的方法! 可能大家都較忙吧! 那我就獻醜貼上解決方法(挺笨的方法) 如前輩有別的思考方向,請不吝指教 procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var docs,edits:OleVariant; begin if WebBrowser1.Document=nil then exit; docs:= webbrowser1.document; if not logon then begin edits:=docs.getelementbyid('email'); edits.value:='ucdesign@126.com'; edits:=docs.getelementbyid('password'); edits.value:='********'; docs.forms.item(1,1).submit; // <-- 正解 //showmessage(docs.forms.item(1,1).name)='login'; // 用上一行笨方法試出來
logon:=true; end; end;
|
washare
初階會員
發表:14 回覆:36 積分:35 註冊:2006-10-17
發送簡訊給我
|
我覺得每次跑去分析網頁source還蠻麻煩的 ,這種事做久了,我想出了一個比較快速的方法,就是直接寫一個網頁分析程序。 直接把常找的tag如form中的元素用for迴圈把所有值和名稱都列舉出來 如forms.item(0,0).name forms.item(0,0).value . . forms.item(n,n).name forms.item(n,n).value 把值都輸到memo去看 全部的值和名稱都出來了,這樣一來馬上知道要怎麼抓值 解析的方法是用Webbrowser去開啟想要解析的網頁,執行網頁分析程序就行了,事半功倍,免煩腦
|
ucdesign2
一般會員
發表:24 回覆:33 積分:11 註冊:2002-10-23
發送簡訊給我
|
washare前輩反向思考的方法,很特別! ===================引 用 washare 文 章=================== 我覺得每次跑去分析網頁source還蠻麻煩的 ,這種事做久了,我想出了一個比較快速的方法,就是直接寫一個網頁分析程序。 直接把常找的tag如form中的元素用for迴圈把所有值和名稱都列舉出來 如forms.item(0,0).name forms.item(0,0).value . . forms.item(n,n).name forms.item(n,n).value 把值都輸到memo去看 全部的值和名稱都出來了,這樣一來馬上知道要怎麼抓值 解析的方法是用Webbrowser去開啟想要解析的網頁,執行網頁分析程序就行了,事半功倍,免煩腦
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!
|
|