Problemas con formulario de una página

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Problemas con formulario de una página

Mensaje por Jonny »

Hola

Estoy haciendo una función, en la que tengo que abrir una página y rellenar un formulario/enviarlo.

El código es este:

Código: Seleccionar todo

Func _AdslGetMobileOperator($XNumber)
$IeObj=_IECreate("http://www.gsmspain.com/prefijos/", 0, 0)
If @Error<>0 Then
SetError(2)
EndIf
$IeForm=_IEFormGetCollection($IeObj, 0)
$InpNum=_IEGetObjByName($IeForm, "num")
_IeFormElementSetValue($InpNum, $XNumber)
_IEFormSubmit($IeForm)
EndFunc
(la función está sin terminar)
El problema es, que hay más de un formulario y el campo número de teléfono se rellena correctamente, pero no se hace click en el botón "ver", sinó en el botón buscar.
¿Como puedo hacerlo? porque aparecen 3 formularios en $IeForm pero no se como manipular uno concretamente.

gracias de antemano!

Salu2!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Problemas con formulario de una página

Mensaje por Chefito »

Con el 2º parámetro de la funcion _IEFormGetCollection, puedes seleccionar el formulario que te interese. En tu caso creo que es el 2º. Cambia esto:

Código: Seleccionar todo

$IeForm=_IEFormGetCollection($IeObj, 1)
y todo solucionado.

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 ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Problemas con formulario de una página

Mensaje por Jonny »

Hola

Muchas gracias, ahora pruebo.
Esque he mirado la ayuda de esa función, pero no entiendo muy bien, únicamente explica el parámetro en su valor 0 o -1....

Salu2!
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Problemas con formulario de una página

Mensaje por Jonny »

Hola de nuevo!

Muchas gracias Chefito, funciona perfectamente. A ver si lo entendí bien...

La variable ha de tratarse como si fuera un array, de forma que en éste parámetro de _IeFormGetcollection() debe indicarse el formulario como si fuera el elemento de un array, siendo 0 el primer formulario e incrementando en 1 hasta la cantidad de formularios?

Salu2!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Problemas con formulario de una página

Mensaje por Chefito »

Jejeje....escribiste un mensaje mientras estaba escribiendo :smt001 . Sí, más o menos lo entendiste bien. Igualmente te dejo el mensaje:

En la ayuda habla de 0 o entero positivo:
0 or positive integer returns an indexed instance
-1 = (Default) returns a collection
Que si es 0 o entero positivo devuelve una instancia indexada....vamos....que devuelve el número de formulario empezando desde 0 hasta los que haya (n-1).
y si pones -1 devuelve una colección (supongo que un array con los formularios).

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 ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Problemas con formulario de una página

Mensaje por Jonny »

hola

jejeje!

Muchas Gracias por la aclaración, algo más que aprendí.

Ya está la función lista en este post:
http://www.emesn.com/autoitforum/viewto ... 4651#p4651

Salu2!
Responder