Ayuda con los _IE

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
avechuche
Hacker del Foro
Mensajes: 188
Registrado: 13 Ago 2009, 09:53

Ayuda con los _IE

Mensaje por avechuche »

Bueno tengo una pregunta .. lo que yo quiero es hacer lo siguiente. Entrar a una web, esperar que cargue, que haga clic en un string que yo le voy a pasar, que espere que cargue la pagina y que haga clic en otro link que le voy a pasar... tengo esto

Código: Seleccionar todo

#include <IE.au3>
$oIE = _IECreate ("www.paginaweb.com")
_IELoadWait($oIE)
_IELinkClickByText($oIE, "Texto a buscar")
1) _IELinkClickByText a esta funcion hay que pasarle un texto exacto para que haga clic?? porque solamente me hace clic si le paso un texto exacto .. osea si en la pagina dice "Descargar programa", y yo le pongo "Descargar" no anda.

2) Supongamos que lo de arriba ya esta hecho.Una vez que hace clic en "Texto a buscar" te direcciona a otra página,
2a) Es posible decirle al autoit que espere a que termine de cargar esa página antes de seguir ejecutando comandos? Algo asi como el _IELoadWait, pero para hacer esto, tengo que crear otro _IECreate con la nueva direccion, y es medio feo :)
2b) Supongamos que el punto (2a) ya esta listo. Quiero hacer otro clic en otro link en la pagina que acabo de cargar. Para hacer un _IELinkClickByText tengo que pasarle como parametro un _IECreate y el texto a hacer clic, pero si en el punto 2a no logro hacerlo, este tmp. Espero que se alla entendido ... desde ya muchas gracias!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Ayuda con los _IE

Mensaje por Chefito »

avechuche escribió:1) _IELinkClickByText a esta funcion hay que pasarle un texto exacto para que haga clic?? porque solamente me hace clic si le paso un texto exacto .. osea si en la pagina dice "Descargar programa", y yo le pongo "Descargar" no anda.
Sí, hay que pasarle el texto exacto del link.
Pero si no sabes el texto exacto puedes cliquear el enlace de otras formas, como por ejemplo _IELinkClickByIndex, que cliquea el enlace por su índice.
También puedes hacer una función que recorra todos los enlaces, utilizando las función _IELinkGetCollection (mira su ejemplo), para ir tratandolos uno por uno (su texto) con alguna función de tratamiento de texto (las funciones que empiezan por String..... o por _String.... ) hasta encontrar algún enlace que tenga parte del texto que tu le pongas. Al encontrar éste, lo cliqueas y listo.
Puede que incluso haya algo así en el foro. Busca a ver si encuentras algo. Y si no, pues lo haces :smt024 :smt023 .
avechuche escribió:2) Supongamos que lo de arriba ya esta hecho.Una vez que hace clic en "Texto a buscar" te direcciona a otra página,
2a) Es posible decirle al autoit que espere a que termine de cargar esa página antes de seguir ejecutando comandos? Algo asi como el _IELoadWait, pero para hacer esto, tengo que crear otro _IECreate con la nueva direccion, y es medio feo :)
Aiaiaiaiaaaaaaiiiiiiii, que no nos fijamos nada en la ayuda. Poniendo el parámetro $f_wait=1 de la función _IELinkClickByText espera a que se carge la página. Por defecto está puesto a 1, asi que no tienes que tener ningún problema.
Y para tu información, puedes utilizar la función _IELoadWait siempre que quieras esperar la carga de una página. Solo tienes que pasarle el objeto IE y ya está. No hace falta crear otro ni nada raro.
avechuche escribió:2b) Supongamos que el punto (2a) ya esta listo. Quiero hacer otro clic en otro link en la pagina que acabo de cargar. Para hacer un _IELinkClickByText tengo que pasarle como parametro un _IECreate y el texto a hacer clic, pero si en el punto 2a no logro hacerlo, este tmp
A ver, ya te he dicho que no necesitar crear otro objeto IE. Con uno tienes bastante. Siempre que quieras hacer algo con la nueva página cargada, pasandole a la función el objeto IE, tienes todo solucionado. Por ejemplo, tienes $oIE=IECreate(....), cargas la página inicial, luego cargas otra página con _IENavigate($oIE,...pagina nueva...), y finalmente con la nueva página cargada puedes buscar un link sin necesidad de crear otro objeto IE, de esta forma: _IELinkClickByText($oIE, .....texto del link....).

Veo que estás algo verde. Mira más la ayuda y sus ejemplos, y mira ejemplos en el foro que hay muchos muchos muchos :smt003 .

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
avechuche
Hacker del Foro
Mensajes: 188
Registrado: 13 Ago 2009, 09:53

Re: Ayuda con los _IE

Mensaje por avechuche »

Verde verde, recien arranco con las funciones _IE ^^ ... lei la ayuda pero maldigo el idioma ingles :D ... vamos a ver q sale ... muchas gracias!
avechuche
Hacker del Foro
Mensajes: 188
Registrado: 13 Ago 2009, 09:53

Re: Ayuda con los _IE

Mensaje por avechuche »

Ya solucione el problemita de arriba. otra cosa, nada q ver con lo q postie, pero si tiene que ver con IE ... me parecio ver una funcion o la soñe o estoy drogado, que me permitia bajar un archivo de la web ... digamos algo asi, funcion("direccion a bajar", "directorio/nombre del archivo a guardar") yo estoy seguro que vi algo de eso pero no se en donde ... busque en la ayuda de todas las formas que se me ocurrian pero nada ... algun sabe algo?? Digo es practico porque si hago clic en un link, para bajarlo, valla a saber con que programa arranca a bajarlo, se complica para saber donde hacer clic y demas ...
Avatar de Usuario
Fredinchy
Aprendiz de Mago
Mensajes: 32
Registrado: 30 Mar 2010, 01:27
Ubicación: Unknown

Re: Ayuda con los _IE

Mensaje por Fredinchy »

funcion("direccion a bajar", "directorio/nombre del archivo a guardar")
se llama inetget() y es tal cual como la acabas de poner..
Asi descargo el skype.exe en mi escritorio:

Código: Seleccionar todo

InetGet('http://download.skype.com/partner/trackable/259/SkypeSetup.exe',@DesktopDir&'\skype.exe')
Saludos! :smt020
Cause no one here can ever stop us! They can try but we won't let them! No way.. :smt020
avechuche
Hacker del Foro
Mensajes: 188
Registrado: 13 Ago 2009, 09:53

Re: Ayuda con los _IE

Mensaje por avechuche »

Esa mismaaaa!!!!!!! claro q no la iba a encontrar nunca, ni parecidos los nombres q buscaba^^ ... gracias!
Responder