Ver Mensaje Individual
  #1  
Antiguo 12-08-2010
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 322
Reputación: 22
amadis Va por buen camino
Automatizar web login

Que tal Compañeros.

Estoy intentando hacer un auto login para una pagina de streaming, que al cargar el exe me haga el login y luego haga click en un vinculo que dire RESTART que inicia la transmision del streaming.

La url es http://s5.myradiostream.com/index.php?page=login

Y lo he intentado con un webbrowser y en el evento DocumentComplete he puesto

Código Delphi [-]
procedure TForm1.WebBrowser1DocumentComplete(Sender: 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 := (Sender 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 := 'usuario';
         if UID = nil then
            ShowMessage('No se encuentra uername');// si no lo encuentra...

         ///////la contraseña es igual////////////////////
         Inputs := Doc.getElementsByName('user_password');
         UID := Inputs.item(0, '') as IHTMLElement;
         if UID <> nil then
             (UID as IHTMLInputElement).value := 'CLAVE';
         if UID = nil then
             ShowMessage('No se encuentra password');

         ///////click al boton y entramos (submit)//////////
         Inputs := Doc.getElementsByName('login_submit');//
         LGN := Inputs.item(0, '') as IHTMLElement;
         if LGN <> nil then//si le encuentra le damos click y entramos.
              (LGN as IHTMLInputElement).form.submit;
end;
end;

Con eso he logrado completar los campos pero aparentemente no presiona el boton LOGIN sino que aparenta refrescar la pagina.

A ver si me pueden orientar

Gracias
Responder Con Cita