Thema: Delphi Login mit TWebBrowser

Einzelnen Beitrag anzeigen

Benutzerbild von Stefan Hueg
Stefan Hueg

Registriert seit: 13. Jun 2004
Ort: Gießen
187 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Login mit TWebBrowser

  Alt 17. Jan 2005, 22:05
Hier dieser Sample-Code tut genau das was du willst:

Delphi-Quellcode:
function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
  Result := False;
  //no form on document
  if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
  begin
    Exit;
  end;
  //count forms on document
  for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
  begin
    FormItem := WebBrowser.OleObject.Document.forms.Item(I);
    for j := 0 to FormItem.Length - 1 do
    begin
      try
        //when the fieldname is found, try to fill out
        if FormItem.Item(j).Name = FieldName then
        begin
          FormItem.Item(j).Value := Value;
          Result := True;
        end;
      except
        Exit;
      end;
    end;
  end;
end;

procedure TForm1.Navi2Page(URL : String);
  begin
    Webbi1.Navigate(URL);
    Wait;
  end;

procedure TForm1.Wait;
begin
  while Webbi1.ReadyState <> READYSTATE_COMPLETE do
  begin
    Application.ProcessMessages;
    Sleep(0);
  end;
  while Webbi1.Busy = True do
  begin
    Application.ProcessMessages;
    Sleep(0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //Geht auf die Website
  Navi2Page('http://deine_url.de');
  //Gibt die Benutzerinfos in die Felder ein
  FillForm(Webbi1, 'Name', Edit1.Text);
  FillForm(Webbi1, 'PW', Edit2.Text);
  //Schickt das ganze an den Server
  Webbi1.OleObject.Document.forms.item(0).submit;
end;
Wobei Webbi1 das Webbrowser-Steuerelement ist. Musst halt nur bei Navi2Page() die URL eintragen.
Stefan Hueg
  Mit Zitat antworten Zitat