我正在使用下面的代碼來填寫一個用戶名和密碼到他們各自的網站登錄表單中的字段。TWebBrowser自動登錄
var
Doc: IHTMLDocument2;
I: Integer;
Element: OleVariant;
Elements: IHTMLElementCollection;
Sub: Variant;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
Elements := Doc.All;
for I := 0 to Elements.length - 1 do begin
Element := Elements.item(I, varEmpty);
if (UpperCase(Element.tagName) = 'INPUT') and (UpperCase(Element.Type) = 'TEXT') then begin
if (Element.name = 'user') then Element.value := 'theusername';
if (UpperCase(Element.tagName) = 'INPUT') and (UpperCase(Element.Type) = 'PASSWORD') then begin
if (Element.name = 'passwrd') then Element.value := 'thepassword';
end;
end;
Sub := WebBrowser1.Document;
Sub.frmLogin.Submit();
end;
end;
信息在各自的領域:
當我運行的代碼發生了什麼事:
正如你所看到的,用戶名部分作品,用戶名被插入。密碼字段,但是,不。
我在做什麼錯?
'大寫(Element.tagName)= 'input''和下一個看起來不正確 - 'UpperCase'贏得' T匹配'輸入' – BrakNicku
@BrakNicku編輯與代碼的問題,我的一個錯字,對此感到遺憾。無論哪種方式,它不起作用,有或沒有大寫字母等,同樣的事情發生。 – Petzy
只有第一個(外)'IF'被檢查循環中的每一次 – BrakNicku