Página 1 de 1

Tomar Página Web

Publicado: 26 Nov 2009, 22:37
por chumi50
Saludos,

Primero que todo deseo agradecerles a todos por su aportes, los cuales me han servido demasiado para el inicio con Autoit.

Segundo deseo solicitarles su ayuda ya que no se si no he buscado bn en los foros o aun no se ha realizado mi interrogante, les explicare el inconveniente.

Necesito realizar un programa que tome 2 archivos planos y los cargue en unos vectores, luego de eso me debo loguear en una pagina totalmente ajena a mi y validar si la información del archivo 1 concuerda con el archivo 2, la parte de los archivos, la parte de capturar inputs y de agregar la información en ellos al igual que la pulsación de los botones ya es funcional el inconveniente es que no logro capturar en la variable la pagina web.

He realizado pruebas de muchas maneras y el programa me funciona si abro la pagina directamente con el _IECreate(), pero el problema ocurre que no la puedo abrir de esta manera ya que es una pagina en la cual me debo loguear y navegar para llegar a donde necesito.

Las pruebas las he realizado con una pagina que simula el portal donde lo debo realizar.
En conclusión solo necesito que me expliquen como tomo una pagina que ya se encuentra abierta para que me quede almacenada en una variable como un objeto.

De antemano mil gracias a Todos.

Re: Tomar Página Web

Publicado: 26 Nov 2009, 22:56
por chumi50
Creo qeu he encontrado la solución revisando la clase IE.au3 y agregándole unos parámetros a la función _IECreate. De todas formas acepto nuevas opciones.

Re: Tomar Página Web

Publicado: 27 Nov 2009, 18:07
por Nahuel
Leè la ayuda de _IEAttach(). _IECreate() tambièn tiene el paràmetro Attach, el cual intenta adjuntar el objeto a la variable con el paràmetro de coincidencia dado y si falla lo crea.

Re: Tomar Página Web

Publicado: 30 Nov 2009, 16:53
por chumi50
Saludos.

Muchas gracias por el aporte Nahuel, es una muy buena opción, como contaba en un post anterior lo solucione de la siguiente manera:
$oIE = _IECreate($url,$abrir,$mostrar)
$url -> Dirección de la web
$abrir -> 1 si ya existe, si no existe la crea; 0 si no existe, si existe crea una nueva
$mostrar -> 1 coloca el focus en esta pagina, 0 la manipula sin el focus


Mi problema ahora es que al validar los datos me saca las respuestas en unas ventanas showModalDialog las cuales solo tienen texto, yo se como poder validar la información pero no he logrado capturar estas ventanas ya que me frenan el script, seguiré investigando sobre el _IEAttach(), me imagino que con este lo podre hacer.

Si tienes algún método para esto, totalmente agradecido.

De todas formas seguiré investigando.

Re: Tomar Página Web

Publicado: 02 Dic 2009, 04:51
por Nahuel
La verdad es que estoy muy oxidado... hace mucho no hago nada en AutoIt. Me gustaba mucho la parte de automatización de páginas web. En este momento estoy usando Linux, por lo que no voy a poder ponerme a jugar a ver si me acuerdo algo :P

En fin. Si te sirve de ayuda, DebugBar es una herramienta excelente para ver nombres de objetos. Ayuda muchísimo a la hora de automatizar.
Con esto, quiero decír que podrías obtener los campos y el botón de la página de loguin e incluso de las que siguen, de ser posible.

Lamento no poder ser de más ayuda :(

Re: Tomar Página Web

Publicado: 02 Dic 2009, 09:23
por Chefito
Si nos dices la página web y como llegar al momento en que te sale esa ventana emergente te podremos ayudar mejor.
Aunque te digo que ya he tenido malas experiencias con este tipo de ventanas :smt021 .

Saludos.

Re: Tomar Página Web

Publicado: 04 Dic 2009, 21:31
por chumi50
Saludos,

Nahuel y chefito muchas gracias por sus respuestas.

Nahuel te cuento que yo uso el firebug en Mozilla, realiza funciones semejantes a la herramienta que me dices.
El inconveniente es que las ventanas emergentes en showModalDialog, bloquean las secuencias hasta que finalice.

Chefito resulta que no es una pagina como tal sin que es un sistema de una empresa y cada minuto cambian las contraseñas, por tal razón es muy difícil poderte dar la pagina.
Lo que si podemos hacer es que yo realizo una pagina similar y la monto en algún host.
cuando la tenga realizada, te envió un mensaje para que la veas y me puedas dar una pista de como tomarla.

Por otro lado les cuento que Intente tomarla creando un script aparte y ejecutándolo antes de que llegue a la linea que me abre esta ventana, pero no me funciona tampoco.

Mil gracias por sus respuestas, continuo en espera de mas información.

Re: Tomar Página Web

Publicado: 08 Dic 2009, 02:54
por Chefito
El otro día me acordé de que en un post luchamos con una de esas ventanas :smt005 .
Al final creo que salimos vencedores (con una forma muy específica para ese caso). Habría que estudiar tu caso independientemente.
Te dejo el post: http://www.emesn.com/autoitforum/viewto ... 75&start=0

Te dejo otra que puede que también te sea interesante para lo que te voy a decir a continuación: http://www.emesn.com/autoitforum/viewto ... 22&start=0

La forma de atacar estas ventanas emergentes es mirando el código html de la página principal e intentar hacer alguna trampa.
Por ejemplo, se puede intentar pasar esa ventana insertando código javascript en la barra del navegador para pasar a la siguiente página, o insertar en esta misma barra la dirección de la página siguiente que mande los parámetros necesarios. De eso van los dos ejemplos que te he puesto.

Igualmente, como te dije antes, necesitamos la página para poder hacer algo.

Saludos.