Für die Automatisierung mit Hilfe des TWebbrowser benötigt man den folgenden Code.
uses mshtml;
…
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;
…
if FillForm(WebBrowser1, 'username', 'mein_username') = False then
Form1.caption:=version;
=> Ausfüllen des Formularfeldes „username“ mit dem Inhalt „Username“.
=> Ausweitbar auf weitere Formularfelder wie „passwort“, „webseite“ usw., sofern Objektnamen bekannt.
Webbrowser1.OleObject.document.forms.item(0).submit();
=> Ausgefüllte Inhalte werden abgeschickt