Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Automatizar web login (https://www.clubdelphi.com/foros/showthread.php?t=69356)

amadis 12-08-2010 18:36:03

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

kdemia 13-08-2010 02:37:45

Intenta con LGN.Click..

Saludos

amadis 13-08-2010 14:15:42

Solucionado
 
Muchas Gracias. Con click si funciona.


La franja horaria es GMT +2. Ahora son las 21:58:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi