FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
buenos días, no les había podido contestar (ni agradecer), para casimiro y delphius, les comento, mas detalladamente el proceso
se ingresa a la pagina la empresa propietaria de la web, le entrega un token al usuario este puede ser físico o virtual, dicho token ya tiene un usuario base, y la contraseña se genera cada vez que ingreso, pues el token genera contraseñas cada varios segundos para dicho usuario, por lo tanto ese paso no se puede automatizar pues el dato se debe ingresar respecto a la contraseña generada. hasta ahí no tengo problema, luego de esto doy click en siguiente, y de ahí en adelante es cuando debo automatizar el proceso que es el siguiente: escoger una opción del menú y del submenu (que siempre son las mismas - (hacer click en las opciones). ingreso tipo de documento de una lista desplegable, numero de documento, nombre y apellidos hago click en aceptar se despliega otra pantalla ingreso un numero de 17 dígitos pero en formato texto otros datos como vendedor, dirección, ciudad, departamento, y se hace click en aceptar el sistema de la pagina con esa información me arroja otro numero en formato texto de diez dígitos, ese dato lo debo tomar y grabar en mi tabla de excel desde donde estoy enviándole los datos a la pagina así debe repetirse con todas las filas del archivo de excel hasta que termine, dicho archivo normalmente tiene de 5000 a 10000 registros sin embargo puede llegar el momento que el archivo a leer tenga menos de 1000. la dirección de la pagina se las podría enviar pero de manera privada no por el foro, indiquen sus dos correos o la forma de hacerlo, sin embargo el solo les mostraría la pagina donde se debe ingresar el usuario y contraseña. como comentario final estoy leyendo una guía de Indy. muchas gracias por su colaboracion |
#2
|
||||
|
||||
Cita:
Pues como he dicho, deberás aplicar un tanto de ingeniería inversa... examina el HTML que te regresa el server para ver como está presentada la página. También deberás hacer uso de las herramientas de desarrollor que ofrecen Firefox y/o Chrome para examinar que parámetros, orden, y como se pasan los valores... Por ejemplo, tomemos esa lista desplegable para el tipo de DNI. En el HTML deberías ver algo como esto: <select name="Tipo DNI"> <option value="1">(DNI) Documento Nacional de Identidad</option> <option value="2">(LE) Libreta de Enrolamiento</option> <option value="3">(LC) Libreta cívica</option> <option value="4">Pasaporte extrangero</option> </select> El ejemplo está inspirado en el sistema Argentino. Bueno, entonces ahora con la herramienta de Chrome para desarrolladores revisas la URL decodificada devuelta... probando con las diferentes opciones... Digamos que tu seleccionas LE, y ves un parámetro con nombre medio raro pIdType (es una manera de despistar a los curiosos del nombre real) y que justo recibió el valor 2. Repites el proceso cambiando opciones y así vas viendo si es una coincidencia. Hagamos de cuenta que efectivamente el pIdType se corresponde al DNI y lo que se termina pasando es el valor asociado a <option> Eso deberás ir haciendo para todo los parámetros... Pero en cuanto veas algo como OIUBKOJL224%e3$ ¡La tienes jodida! ¡Es un dato que va cifrado o vaya a saber de donde lo sacó! Si tienes suerte, todo va sin cifrar y ya tienes ideas de como armar una URL y pasarle los valores a cada parámetro. El trabajo final que te queda es obtener el HTML que te regresa y estudiarlo para recuperar ese número de 10 cifras. Acá debo hacer una advertencia: No necesariamente el HTML que te devuelve Indy será igual al que veas con Firefox por ejemplo. ¿Porqué? Porque Indy devuelve el HTML en "original"... con sus posibles erratas de parte del desarrollador al elaborar el sitio mientras que FF, Chrome, Opera, y los demás van a tratar de armar el HTML de la mejor manera que cumpla con el estándar W3C. Un buen ejemplo: los navegadores van a tratar de poner los tags de cierre a las etiquetas opcionales. Ya he dicho bastante, con esto deberás tener una buena idea de como encarar el trabajo. Más no te podemos ayudar. Saludos, |
#3
|
|||
|
|||
Excelente, muchas gracias, encontré un archivo de indy. parece que están todos lo comandos, (voy en la pagina 300 de mas de 3000), sin embargo no tiene ejemplos, este tema me esta dando tan duro como cuando quise hacer por primera vez una conexión a base de datos sin el asistente del ADO, me demore pero lo hice espero que con este me pase lo mismo. ya encontré la lista desplegable, del tipo de documento. en el código fuente de la pagina, muchas gracias, por la orientación,
|
#4
|
||||
|
||||
Cita:
No hay ningún comando. Me di cuenta que estás bastante perdido en cuanto leí la palabra "comando". Esto es Delphi, Object Pascal; no hay comandos. Lo que hay son clases, objetos, y lo que tu dices "comandos" son los métodos (funciones y/o procedimientos) que ofrecen las clases. Si quieres hacer esto en serio, entonces toma las cosas en serio y empieza a utilizar los conceptos como corresponden. Evidentemente no vienes de una formación previa. Sugiero que leas La Cara Oculta de Delphi 4... te ayudará a canalizar las cosas a buen puerto. Parecerá viejo por lleer "Delphi 4", pero sus conceptos siguen vigentes y/o se pueden extrapolar a lo nuevo. La documentación oficial de Indy la puedes consultar. Aunque si es cierto que no se caracteriza por tener demasiados ejemplos. Para que te hagas una idea de como deberías trabajar con TidHHTP y navegar un sitio, mira esto. Y como he dicho, en otro hilo yo ya había comentado sobre Indy+Post+recuperar HTML. Si bien en esa oportunidad apunté al uso de Indy con Lazarus (que es lo que uso actualmente), estimo que las cosas con Delphi son iguales o bastante similares. Saludos, |
#5
|
|||
|
|||
Buenos días a todos, tomando de nuevo el tema en el que muy amablemente me están ayudando, tome la sugerencias de Delphius y casimiro, y he leído mucho al respecto, aunque por cuestiones de ocupaciones varias no he avanzado mucho, les comento que ya envio la información del usuario y contraseña a la pagina. muchas gracias, por eso, lo estoy elaborando con Webbrowser, sin embargo me he encontrado que después de entrar el usuario y su clave, con el siguiente código
procedure TF_activa.xpButton1Click(Sender: TObject); begin Webbrowser1.OleObject.Document.GetElementByID('ctl00$ContentPlaceHolder1$txtUserIni').SetAttribute(' value', 'ECM1112A'); Sleep(250); WebBrowser1.OleObject.Document.Forms.Item(0).elements.item('ctl00$ContentPlaceHolder1$BtnIngresar'). Click; end; y funciona bien al tratar de entrar un click en uno de los botones del menú, se saca un error de violación de memoria, el código es el siguiente procedure TF_activa.xpButton3Click(Sender: TObject); begin WebBrowser1.OleObject.Document.Forms.Item(1).elements.item('button2').Click; Sleep(250); end; como ven lo monte en otro botón, pero también lo he intentado en el procedimiento anterior, y el error es el mismo, de nuevo muchas gracias por su ayuda |
#7
|
||||
|
||||
Recuerda poner los tags al código fuente, ejemplo:
Gracias |
#8
|
|||
|
|||
Casimiro, gracias por el comentario lo tendré en cuenta para la próxima, y bitbow, te comento, soy nuevo en el tema de Internet tengo delphi 7 enterprise, he usado lo que voy aprendiendo, si tienes una forma mas eficiente que me sirva para esta versión de Delphi bienvenida sera.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Enviar información a aplicación Delphi desde PHP | elpichi | Internet | 3 | 10-05-2015 19:06:42 |
Enviar Datos a pagina web desde delphi | tocomi | Internet | 3 | 18-02-2009 23:02:59 |
Problemas para enviar un mensaje desde una página web | selman | .NET | 0 | 02-06-2007 00:18:58 |
Usar Post para enviar información a otra página | halizia | PHP | 3 | 20-12-2006 14:55:12 |
enviar instruccion de =SUM desde delphi 5 a excel | mayte mtz | Varios | 2 | 06-12-2006 16:52:28 |
|