Ver Mensaje Individual
  #37  
Antiguo 30-09-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Yo no he usado el TWebBrowser, no al menos para algo como lo que pretendes hacer.

Yo no buscaría simular/emular las acciones por medio del Browser como si fuera un usuario... Al menos eso es lo que me queda y entiendo que estás intentando hacer. De lo que estoy percibiendo, pareciera, por ese código que estás intentando ejecutar un Click sobre una lista desplegable por medio del TWebBrowser.

Yo, como te dije, buscaría la forma de hacerlo por otra vía. Le pediría a la página que directamente me de los datos, y le pasaría los parámetros finales. No me tomaría la "molestia" de simular clics, seleccionar opciones, etc. Directamente le solicito al server lo que necesito y que el se encargue de generarme la página HTML final para que yo lea y guarde en mi archivo de excel, una base de datos, o lo que fuese lo que realmente necesito poder recuperar y tener de manera persistente.

Nota que todo con lo que interactúes se traduce en última en un valor que el escript php/asp se encargará de recibir por medio de un parámetro.

Necesariamente debe haber un trabajo de ingeniería inversa y ponerte a estudiar como es que recibe los datos.
Como te dije unos post antes... una selección por ejemplo desde una lista desplegable se traducirá en un valor que luego la página recibe como parámetro. De igual forma lo que le pongas en algún Edit/Caja de texto o como le llames. Al final todo se traduce en una orden POST o GET sobre la página y se le pasará los parámetros.
Empieza a hacer ese trabajo de ingeniería... prueba con cada opción, y fíjate que se le manda como parámetro, y como se construye la URL final.
Si no tienes idea de como hacer eso ¡dilo!

Luego simplemente lo que debes hacer es pedirle al componente Indy o el TWebBrowser que navege a esa URL. ¡Te evitas estar jugando la página! Directamente decile: "Mirá, dame esto". Y si el proceso implica interactuar con 2 o 3 páginas, no importa... cada una estará diseñada justamente para recibir los parámetros que espera. Lo que tu debes hacer es navegar en el orden correcto cada una y recuperar del HTML generado lo que necesites.

A lo que voy es que si no te tomas la molestia de hacer la ingeniería inversa vas a seguir lidiando con clicks, que navegar, esperar respuesta, volver a mandar otro click, etc.

Mi propuesta es justamente evitarte eso: ir a los bifes. Si tu proceso te lleva a lidiar con 3 o 5 páginas, no interesa. A todas les debes revisar como y que se pasan como parámetro.

Te estás complicando al pedo, y te lo digo con todo respeto. Y para poder ayudarte mucho más vas a tener que dejar de lado ese estado de secretismo. No hay otra forma de saber que estas haciendo realmente, si lo estás haciendo bien, o que... Ayúdanos a ayudarte. De otra forma seguirás lidiando y dando vueltas en lo mismo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita