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;