Ver Mensaje Individual
  #1  
Antiguo 22-04-2022
asoto92 asoto92 is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Reputación: 0
asoto92 Va por buen camino
Problema con evento NavigationCompleted de EdgeBrowse

Buenas noches a todos, voy a tratar de ser lo mas preciso, realize un navegador con EdgeBrowse en Delphi 10.4 Community.
Despliega la pagina que deseo, hasta aqui ok.
Mediante codigo asigno el usuario a la pagina, hasta aqui ok, muestro codigo:

Código Delphi [-]
     cadUsuario   := 'document.getElementById("i0116").value = "' + sUsuario + '";';
     cadPassword  := 'document.getElementById("i0118").value = "' + sPassword + '";';
     cadBotAceptar := 'document.getElementById("idSIButton9").click();';

     EdgeBrowser.ExecuteScript(
        ' while (1 == 1)  {' + #13#10 +
        '    var v = document.getElementById("i0116"); ' + #13#10 +
        '    if (v !== null){ ' + #13#10 +
                cadUsuario  + #13#10 +
        '       sleep(5000); ' + #13#10 +
                cadBotAcptar  + #13#10 +
        '       break; ' + #13#10 +
        '    } ' + #13#10 +
        '    else { ' + #13#10 +
        '       break; ' + #13#10 +
        '    } ' + #13#10 +
        ' }'
        );

Al ejecutar el cadBotAceptar que es el que hace el click en el boton de Aceptar, el sitio muestra el mensaje de que "Introdusca un usuario Valido etc etc. (este es el Error).

Es como si aun no cargara completamente la pagina y el click al boton de Aceptar se diera antes de introducir el Usuario. De echo me he dado cuenta que aun no ha desplegado completamente la pagina, segun yo. Y se me hace extraño por que el codigo mostrado anteriormente lo ubico en el Evento NavigationCompleted :

procedure TfrmMain.EdgeBrowserNavigationCompleted(Sender: TCustomEdgeBrowser; IsSuccess: Boolean;
WebErrorStatus: TOleEnum);

El evento antes mencionado se supone que se ejecuta cuando la pagina Web se termino de desplegar, bueno asi lo entendi.


Si yo ejecuto el proceso de forma manual, escribo el usuario, hago click en el boton de aceptar, me despliega la pantalla para que capture el Password, todo bien.

Todo esto es por que la empresa no desea que los usuarios tecleen el Usuario y el Password, si no que lo haga el programa de forma automatica y les de acceso al sitio web.

De antemano muchisimas gracias.

Última edición por dec fecha: 22-04-2022 a las 12:06:22. Razón: Poner etiquetas DELPHI
Responder Con Cita