Problemas/Duda respecto a Funciones _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

Problemas/Duda respecto a Funciones _IE

Mensaje por avechuche »

Bueno resulta que me quiero loguear a una WEB y desp de eso crear un post ... Hasta ahi todo bien

Código: Seleccionar todo

$oSubmit = _IEGetObjById($oIE, $iUsuario) ; $iUsuario seria el ID del input donde poner el "usuario"
_IEFormElementSetValue($oSubmit, GUICtrlRead($Input_Usuario)) ; Ingresa el usuario

; Hasta aca todo perfecto ...
Aca viene lo raro ...

Código: Seleccionar todo

$oSubmit = _IEGetObjById($oIE, $iPass) ; $iPass seria el ID del input donde poner el "Password"
ClipPut(GUICtrlRead($Input_Pass))
_IEAction($oSubmit, "focus")
Send("^v")
Bueno aca ven que pongo el foco en el input y desp pego la contraseña. Algunos se preguntaran porque no uso algo mas automatico y perfecto "_IEFormElementSetValue($oSubmit, GUICtrlRead($Input_Pass))" en vez de copiar y pegar el pass. Bueno aca el problema numero 1 ... Resulta que hay paginas que:
1a) _IEFormElementSetValue() a veces no funciona, osea no pone ningun dato, mas alla que este todo bien. Yo uso _IEAction($oSubmit, "focus") y pone el focus pero el _IEFormElementSetValue() no pega los datos
1b) En algunas paginas el _IEFormElementSetValue() pega el texto pero visible, siempre hablando de la contraseña claro. En vez de pegar y que se vean los asteriscos, pega la contraseña visible, en si no seria un problema, pero por poner una contraseña visible, me da error de logueo

Problema 2 :)
Resulta que cuando quiero poner el focus en un "TEXTAREA" hago lo mismo que con usuario/pass, por ejemplo:

Código: Seleccionar todo

$oSubmit = _IEGetObjByName($oIE, $iTextArea) ; $iTextArea es el "name" del TEXTAREA que le quiero tomar
_IEFormElementSetValue($oSubmit, $Texto)
Bueno hasta ahi todo bien. Ahora resulta que hay "TEXTAREA" que por mas que tengan ID o Nombre no puedo usar el _IEFormElementSetValue() porque estan como adentro de un "Iframe". Usando DebugBar en IE ... dejo una imagen
http://picturetogo.com/images/2011/04/1 ... dibujo.jpg

Espero que alla una solucion :) ... saludos!!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Problemas/Duda respecto a Funciones _IE

Mensaje por Chefito »

avechuche escribió:En algunas paginas el _IEFormElementSetValue() pega el texto pero visible, siempre hablando de la contraseña claro. En vez de pegar y que se vean los asteriscos, pega la contraseña visible, en si no seria un problema, pero por poner una contraseña visible, me da error de logueo
Si no te funciona de esa forma puedes trabajar directamente con el objeto. Utiliza _Iegetobjbyid o _iegetobjbyname. Recupera el objeto y para pasarle un dato utiliza la propiedad value:
Ejemplo:
$oinput=_iegetobjbyid(.....)
$oinput.value="mis_datos"
En el último post que te contesté te lo dije: http://www.emesn.com/autoitforum/viewto ... 584#p10510
Más antención por favor.
avechuche escribió:En algunas paginas el _IEFormElementSetValue() pega el texto pero visible, siempre hablando de la contraseña claro. En vez de pegar y que se vean los asteriscos, pega la contraseña visible, en si no seria un problema, pero por poner una contraseña visible, me da error de logueo
Si te pega el texto visible y te da error al enviar (submit) es que no se te ha pegado bien dentro del objeto. Es como si el interior del objeto estuviese vacio.
Otra forma de acerlo es como te he dicho anteriormente.
avechuche escribió:Bueno hasta ahi todo bien. Ahora resulta que hay "TEXTAREA" que por mas que tengan ID o Nombre no puedo usar el _IEFormElementSetValue() porque estan como adentro de un "Iframe". Usando DebugBar en IE ... dejo una imagen
Para tratar frames están _IEFrameGetCollection y _IEFrameGetObjByName. Miralas en la ayuda.

Saludos y busca más en el foro que todo esto ya está solucionado.
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 ;).
Responder