[R] _IEFormElementGetValue et radio button

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

[R] _IEFormElementGetValue et radio button

#1

Message par Manwe »

Bonjour,

Je teste en ce moment des interfaces web. Pour cela j'ai besoin de récupérer des infos dans cette page, et j'ai un problème sur la récupération de la valeur d'un radio button avec la fonction '_IEFormElementGetValue'.

Si vous ouvrez l'exemple dans l'aide de cette fonction, on récupère bien la valeur du champ 'textExample' qui est un champ input.
mais si vous remplacez 'textExample' par 'radioExample', on récupère la valeur du premier champ 'Airplane', et non pas celle qui est cochée 'train'.

Aujourd'hui je parse le source de la page pour récupérer la bonne valeur, mais est-ce que ca vous semble normal ?
Modifié en dernier par Manwe le ven. 18 févr. 2011 09:59, modifié 1 fois.
Un clavier azerty en vaut deux.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] _IEFormElementGetValue et radio button

#2

Message par zeshrek »

hmmm... il semble qu'il manque l'exemple...
Si vis pacem para bellum
Avatar du membre
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

Re: [..] _IEFormElementGetValue et radio button

#3

Message par Manwe »

Code : Tout sélectionner

; *******************************************************
; Example 1 - Open a browser with the form example, set the value of a text
;               form element, retrieve and display the value from the element
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("form")
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oText = _IEFormElementGetObjByName ($oForm, "radioExample")
;$IEAu3Version = _IE_VersionInfo ()
;_IEFormElementSetValue ($oText, $IEAu3Version[5])
MsgBox(0, "Form Element Value", _IEFormElementGetValue ($oText))

 
Un clavier azerty en vaut deux.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] _IEFormElementGetValue et radio button

#4

Message par zeshrek »

désolé, quand tu parlais d'exemple, je pensais a un exemple a toi, j'avais pas capté que tu parlais de l'exemple de l'aide (un boulet des fois je suis !)

_IEFormElementGetValue sert a récupérer le 'label' (désolé, c'est pour l'analogie avec autoit) du bouton radio. Si tu veux son état (coché ou non) il faut utiliser _IEFormElementRadioSelect :

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IE_Example("form")
$oForm = _IEFormGetObjByName($oIE, "ExampleForm")
; maintenant on va parser les boutons radio :
$i = 0 ; on commence au N° 0
While 1 ; et on boucle jusqu'a trouver le sélectionné
    $oText = _IEFormElementGetObjByName($oForm, "radioExample", $i)
    $oSelected = _IEFormElementRadioSelect ($oForm, $i, "radioExample", -1,"byIndex")

    if @error Then ; on a dépassé le dernier, aucun n'était sélectionné
        MsgBox(0, "Form Element Value","Désolé aucun boutton radio coché")
        ExitLoop
    EndIf
    If $oSelected = False Then
        $i = $i + 1 ; on passe au suivant
    Else
        MsgBox(0, "Form Element Value", _IEFormElementGetValue($oText) & @CRLF & $oSelected) ; bingo !
        ExitLoop
    EndIf
WEnd

 
Si vis pacem para bellum
Avatar du membre
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

Re: [..] _IEFormElementGetValue et radio button

#5

Message par Manwe »

Effectivement, je n'avais pas vu la ligne :
-1 = Return selected state

C'est dommage '_IEFormElementGetValue' te donne directement la valeur pour un inputtext ou une listbox. C'est surement lié a la façon dont c'est géré en html.

Merci bcp.
Un clavier azerty en vaut deux.
Répondre