Nov 022011
 

Sorry, this entry is only available in European Spanish.

  15 Responses to “(Español) Obtener información de una página cargada en un TWebBrowser”

  1. Genial, funciona de maravilla.

    Gracias.

  2. Hola Cadetill, no conocía tu página, pero me la apunto

    Quiero ejecutar repetidamente un script de Javascript en una página web.
    Tras cada ejecución crea una nueva página con el resultado insertado en una tabla. Tendré que leer estas tablas y almacenar su contenido. De momento la primera ejecución funciona, porque tengo problemas con la carga de la página, supongo que tengo que esperar a que acabe de cargar para poder leer la tabla y de momento no se como hacerlo.

    He leido lo que permite hacer tu clase, pero creo que no permite la ejecución de script. Te comento esto porque no acabo de entender el ejemplo que acompañas. Como puedo ver los elementos que componen la página y para que sirve la búsqueda que añades en el ejemplo

    un saludo y felicidades por la página

    • Hola Paco

      Para saber si una página se ha terminado de cargar tienes que hacer, más o menos, lo mismo de la demo, es decir, tienes que controlar los 3 eventos del TWebBrowser indicados.

      Para ejecutar un script tienes que hacer algo así

      uses MSHTML;
      
      procedure .....
      var
        Doc2: IHTMLDocument2;
        Win2: IHTMLWindow2;
      begin
        Doc2 := WebBrowser.Document as IHTMLDocument2;
        Win2 := Doc2.parentWindow;
        Win2.execScript('funcion(parametros)', 'JavaScript');

      Nos leemos

  3. Saludos cadetill, tengo un input en un formulario web de 15 caracteres y cuando completo los campos en el el ultimo caracter se activa un evento pero ahora que lo hago de esta forma automática no activa el evento, podría enviar a activar el evento desde delphi?, como podría activar el evento de dicho input?.

    • Buenas,

      No entiendo exactamente tu problema. No tiene nada que ver el uso de esta unit a la carga de una página web en el TWebBrowser. ¿Si cargas tu página desde un navegador (fuera de Delphi) te funciona correctamente?

      Saludos

      • La pregunta es sencilla, hay una web que contiene un formulario y en el formulario un input para escribir 15 caracteres, al completar de escribir los caracteres se dispara un evento que realiza una búsqueda y trae el resultado en otro campo, si digito manual la búsqueda se realiza pero si lleno los campos con WebFormSetFieldValue el evento de búsqueda no se dispara aunque estén completo los 15 caracteres así que la pregunta es la siguiente, como podría disparar el evento desde Delphi para que después que use WebFormSetFieldValue se realice la búsqueda y pueda obtener el campo del resultado

        • Buenas,

          Vale, ya entiendo. El evento seguramente estará ejecutando una función JavaScript, por lo que sólo tienes que ejecutar esa función. Unos mensajes más arriba, a Paco le explico cómo hacerlo.

          También puede valerte ejecutar un simple submit del formulario, pero eso ya no te lo aseguraría.

          Saludos

  4. Pregunta como se usa procedure WebAddHTML
    Lo intente usar pero me marca error exeption access violation

    • Hola Edgar

      Cuando creas un objeto de tipo TWebControl tienes que pasarle en el constructor un TWebBrowser donde visualizar los datos. Este TWebBrowser tienes que inicializarlo al menos con about:blank ( WebBrowser.Navigate(‘about:blank’); ).
      Luego sólo te queda hacer una llamada al método que quieras

      Saludos

  5. Gran aporte, gracias por tu tiempo. Saludos

Leave a Reply to cadetill Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.