Einzelnen Beitrag anzeigen

API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#4

AW: Login Simulieren (WebBrowser)

  Alt 11. Sep 2011, 13:25
Woher kommen die und muss ich die für die anderen Seiten ändern?
Einfach mal den Quelltext der Webseite betrachten und schauen, um was für Felder es sich handelt und wie diese heißen.

Auf web.de ist der Login-Button ein Bild, muss dementsprechend auch anders angeklickt werden.

Delphi-Quellcode:
uses
 MSHTML;

procedure WB_ClickImage(WB: TWebbrowser; ImageSRC: string);
var
  iDoc: IHtmlDocument2;
  i: Integer;
  iDisp: IDispatch;
  iColl: IHTMLElementCollection;
  InputImage: HTMLInputImage;
begin
  if Assigned(WB.Document) then
  begin
    WB.Document.QueryInterface(IHTMLDocument2, iDoc);
    if Assigned(iDoc) then
    begin
      iDisp := iDoc.all.tags('INPUT');
      if Assigned(iDisp) then
      begin
        iDisp.QueryInterface(IHTMLElementCollection, iColl);
        if Assigned(iColl) then
        begin
          ImageSRC := AnsiUpperCase(ImageSRC);
          for i := 1 to iColl.Get_length do
          begin
            iDisp := iColl.item(Pred(i), 0);
            iDisp.QueryInterface(HTMLInputImage, InputImage);
            if Assigned(InputImage) then
            begin
              if Pos(ImageSRC, AnsiUpperCase(InputImage.src)) <> 0 then
              begin
                InputImage.Click;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Webbrowser1.OleObjec.document.forms.item(0).elements.item('username').value := Edit1.Text;
 Webbrowser1.OleObject.document.forms.item(0).elements.item('password').value := Edit2.Text;
 WB_ClickImage(Webbrowser1, 'btn_login.gif');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Navigate('https://produkte.web.de/freemail-webmail/');
end;