2010-09-06 12 views

回答

6
procedure TForm1.Button1Click(Sender: TObject); 
var 
    ovElements: OleVariant; 
    i: Integer; 
begin 
    ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
    for i := 0 to (ovElements.Length - 1) do 
    if (ovElements.item(i).tagName = 'INPUT') and 
     (ovElements.item(i).type = 'SUBMIT') and 
    (ovElements.item(i).Value = 'Login') then 
     ovElements.item(i).Click; 
end; 
1

我在這種情況下使用我的步驟WB_send_Click_by_Value:

procedure WB_send_Click_by_Value(WB: TWebbrowser;form_nr:nativeint;tag,typ,val: string); 
var ovElements: OleVariant; 
i: Integer; 
begin 
    ovElements := WB.OleObject.Document.forms.item(form_nr).elements; 
    for i := 0 to (ovElements.Length - 1) do 
    begin 
     if AnsiSameText(ovElements.item(i).tagName,tag) and 
     AnsiSameText(ovElements.item(i).type,typ) and 
     AnsiSameText(ovElements.item(i).value,val) then 
     ovElements.item(i).Click; 
    end; 
end; 

我使用這個程序按鈕在好康表現公式1所示:

WB_send_Click_by_Value(Webbrowser1,0,'input','submit','ok'); 

或例如對於形式2中的RadioButton,例如:

WB_send_Click_by_Value(Webbrowser1,1,'input','radio','dns'); 
相關問題