Hola, mira yo eso lo hago de esta manera, a ver si te sirve:
1º: Cargas la pagina.
Código:
WebBrowser1.Navigate('http://www.xxx.com');
2º:Yo lo pongo cuando a terminado de cargar la pagina:
Código:
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
currentBrowser: IWebBrowser;
topBrowser: IWebBrowser;
Doc: IHTMLDocument3;
Inputs: IHTMLElementCollection;
UID, LGN: IHTMLElement;
begin
currentBrowser := pDisp as IWebBrowser;
topBrowser := (ASender as TWebBrowser).DefaultInterface;
if currentBrowser = topBrowser then
begin
///vamos a colocar un usuario y una contraseña y darle al boton de entrar
////buscamos usuario//////
Doc := WebBrowser1.Document as IHTMLDocument3;
Inputs := Doc.getElementsByName('username');//username cambialo por el nombre del input de donde va el usuario
UID := Inputs.item(0, '') as IHTMLElement;
if UID <> nil then //si lo encuentra le escribimos el usuario
(UID as IHTMLInputElement).value := 'pepitoperez';
if UID = nil then
ShowMessage('No se encuentra uername');// si no lo encuentra...
///////la contraseña es igual////////////////////
Inputs := Doc.getElementsByName('password');
UID := Inputs.item(0, '') as IHTMLElement;
if UID <> nil then
(UID as IHTMLInputElement).value := '123456';
if UID = nil then
ShowMessage('No se encuentra password');
///////click al boton y entramos (submit)//////////
Inputs := Doc.getElementsByName('signIn');//signIn cambialo por el nombre que tiene el boton
LGN := Inputs.item(0, '') as IHTMLElement;
if LGN <> nil then//si le encuentra le damos click y entramos.
(LGN as IHTMLInputElement).form.submit;