Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Obtener informacion de internet (https://www.clubdelphi.com/foros/showthread.php?t=69222)

kdemia 03-08-2010 02:06:08

Componentes de una web
 
Que tal Comunidad. Lo que necesitaria que me ayuden es en este problema:
Necesito obtener informacion de los componentes de una web que se carga en un WebBrowser para luego hacer por ejemplo clicks en botones de la web sin necesidad de mover el mouse (ejemplo con SetCursorPos).
Es decir que se apreten botones de una web cargada en un webbrowser teniendo el form minimizado.

Muchas gracias .

Neftali [Germán.Estévez] 03-08-2010 11:07:12

Creo que tilizando las Indy puedes "interactuar" con la página web. Realiza una búsqueda en los foros, es un tema que ya se ha tratado.

titomigue 03-08-2010 13:25:05

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;


Neftali [Germán.Estévez] 03-08-2010 14:45:35

Muy buen ejemplo titomigue; Añadir sólo que hay que poner el MSHTML en el uses.

kdemia 04-08-2010 02:02:54

Muchas gracias a los dos por el tiempo y las respuestas, lo probare y les comentare


La franja horaria es GMT +2. Ahora son las 15:21:17.

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