Код:
procedure TForm1.Button3Click(Sender: TObject);
var ovElements: OleVariant;
i,len: Integer;
name,tp:string;
idLogin,idPass,idButton:integer;
begin
ovElements := TWebBrowser1.OleObject.Document.forms.item(0).elements;
len := ovElements.Length;
for i:=0 to (len-1) do
begin
name := ovElements.item(i).Name;
tp := ovElements.item(i).type;
if ( name = 'username') and ( tp = 'text') then idLogin := i;
if ( name = 'password') and ( tp = 'password') then idPass:=i;
if ( name = 'submit') and ( tp = 'submit') then idButton := i;
end;
ovElements.item(idLogin).value := stlogin;
ovElements.item(idPass).value := stpass;
ovElements.item(idButton).Click;
end;
Искомые значения Name и type ищешь в Html-коде страницы сам.
stlogin и stpass - это у меня были переменные типа string хранящие логин и пароль