Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2022
asoto92 asoto92 is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
asoto92 Va por buen camino
manipular web usando edgebrowser

Hola a todos, necesito manipular una sitio web, introduciendo el Usuario y Password, el navegador que uso es el EdgeBrowser, estoy trabajando con Delphi 10.4 Community, mi browser es funcional, ya puedo ver la pagina Web, pero no se como introducir el Usuario y el Password en la web. Es la primera vez que trabajo con este browser (EdgeBrowser), ojala tengan una idea de como introducir los datos.

De antemano muchas gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 15-04-2022
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Una posibilidad podría ser utilizar el método "ExecuteScript" de los objetos "TEdgeBrowser". Por ejemplo, en el evento "BrowserNavigationCompleted" podrías hacer uso del método en cuestión de una forma similar a la siguiente:
Código Delphi [-]
  EdgeBrowser.ExecuteScript('document.getElementById("name").value = "Pepe";');
  EdgeBrowser.ExecuteScript('document.getElementById("email").value = "pepe@gmail.com";');
  EdgeBrowser.ExecuteScript('document.getElementById("submit").click();');
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 15-04-2022
asoto92 asoto92 is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
asoto92 Va por buen camino
manipular web usando edgebrowser

Hola Dec, gracias por tu pronta respuesta, deme oportunidad de hacer algunas pruebas con lo que me proporcionaste y te comento a la brevedad lo que me resulte.

Hasta pronto.
Responder Con Cita
  #4  
Antiguo 20-04-2022
asoto92 asoto92 is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
asoto92 Va por buen camino
Seguir con Manipular web usando edgebrowser

Disculpa la tardanza, estoy intentando probar tu codigo de ejemplo, pero creo que me faltan cosas, por lo que entiendo cada linea de codigo que me indicaste es una especie de script que se ejecuta en el procedimiento:

Código Delphi [-]
procedure TfrmMain.EdgeBrowserExecuteScript(Sender: TCustomEdgeBrowser; AResult: HResult;
  const AResultObjectAsJson: string);

Ahora estoy poniendo el comando que me indicaste en:

Código Delphi [-]
   procedure TfrmMain.EdgeBrowserNavigationCompleted(Sender: TCustomEdgeBrowser; IsSuccess: Boolean;
     WebErrorStatus: TOleEnum);
   begin
      EdgeBrowser.ExecuteScript('document.getElementById("USUARIO").value = "pepe@gmail.com";');
   end;

Y al ejecutarse aparece: (anexe imagen) pero lo que aparece es:

Cita:
The script has completed:
Result = $0
ResultObject = null
No se interpretarlo, pero entiendo que al parecer corrio bien el Script, pero en mi pagina no alimento el espacio para el usuario, no se que mas este faltando?

Saludos.

Última edición por dec fecha: 20-04-2022 a las 10:00:01. Razón: Poner etiquetas DELPHI y QUOTE
Responder Con Cita
  #5  
Antiguo 20-04-2022
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

El método que indicas "EdgeBrowserExecuteScript" es un evento, que, en realidad puedes usar o no, dependiendo de tus necesidades. Esto lo digo poque, el mensaje / alerta que te aparece, no tiene porqué aparecerte, si no lo necesitas.

Por otro lado, el método "EdgeBrowser.ExecuteScript" se llama en "EdgeBrowserNavigationCompleted" porque, en ese momento, en principio, es cuando podemos acceder a los diferentes elementos HTML que existan en la página en cuestión.

El método "EdgeBrowser.ExecuteScript" requiere de un parámetro de tipo "string" y esta "cadena" debe indicar el código Javascript que queremos que se ejecute en el contexto de la página cargada en el navegador.

El método "document.getElementById" es por tanto código Javascript, y, en este caso, buscará un elemento a partir de su ID. De modo que el siguiente código:

Código:
document.getElementById("USUARIO").value = 'Pepe';
... viene a significar "Busca el elemento con ID = "USUARIO", y, cambia su propiedad "value" con "Pepe". Si este código no funciona, en principio, es porque no existe ningún elemento con ID = "USUARIO", o, dicho elemento, no tiene ninguna propiedad "value".

Es decir, en la página en cuestión, debería haber un elemento como el siguiente, para que el código Javascript anterior funcionase como se espera que lo haga:

Código:
<input id="USUARIO" />
Por tanto, deberás echar un vistazo al código fuente de la página, y, ver qué elemento alberga el usuario, cuál es su ID, o, si no tiene ID, cuál es su atributo "name", en definitiva, para saber qué código Javascript es necesario utilizar para hacer lo que quieres.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 20-04-2022
asoto92 asoto92 is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
asoto92 Va por buen camino
Me ayudo mucho tu guia, no sabes como te lo agradezo, ya pude afectar el sitio web con el dato del Usuario y Password.

Muchismas Gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manipular Contenido XML webmasterplc OOP 3 20-08-2012 16:56:37
manipular la tabla arp dtomeysoto Varios 2 16-09-2011 15:54:47
Manipular winamp ColdFusion Varios 1 04-04-2009 04:20:51
Manipular un CD carlocf Varios 12 14-10-2008 07:12:11
DBLookupComboBox manipular Sayuri Conexión con bases de datos 3 26-07-2005 09:17:02


La franja horaria es GMT +2. Ahora son las 09:06:44.


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
Copyright 1996-2007 Club Delphi