Page 1 sur 1

[..] Cliquer sur un lien/remplir un formulaire (IE)

Posté : jeu. 18 juin 2015 10:13
par Erickira
Bonjour,

Je sais que la question peut sembler stupide mais après avoir essayer les différentes solutions trouvées (_IELinkClickByText par exemple). Je n'arrive toujours pas à passer cet étape.

Je suis sur un site permettant soit d'utiliser un ID/MDP pour la connexion

Code : Tout sélectionner

<form id="formLogin" autocomplete="OFF" name="Authentication" method="post" action="/logingassifaible.fcc">
                        <h3 id="titreConnexionManuelle">connexion avec Identifiant</h3>
                        <div id='divLabelFormLogin'>
                            <span id="spanLabelLogin">
                                <label id="labelLogin" for="USER">Identifiant</label>
                            </span>
                            <span id="spanLabelPassword">
                                <label id="labelPassword" for="PASSWORD">mot de passe</label>
                            </span>
                        </div>
                        <span id="spanInput">
                            <input title="connexion avec Identifiant" type="text" name="USER" id="user" onkeyup="javascript : verifFields()"/>
                            <input title="connexion avec Identifiant" type="password" name="PASSWORD" id="password" onkeyup="javascript : verifFields()"/>
                            <span id="spanBtnCnx">
                                <a href="#" title="Valider l'authentification" id="linkValidForm" onclick="javascript&#058;launchAuth()">
                                    <span id="spanLinkValidForm" class="spanLinkValidFormDisable">valider</span>
                                </a>
                            </span>
                                <input type="hidden" name=target value="**.jsp">
                            <input type="hidden" name=SMAUTHREASON value="0">
                        </span>
                    </form>
ou utiliser son compte (connexion automatique grâce au compte windows).

Code : Tout sélectionner

                <div id="divCorpsGauche">
                    <h3 id="titreConnexionAuto">connexion avec l'Identifiant de ma session Windows</h3>
                    <span id="spanBtnCxAutomatique">
                        <!--  <form action= method="post">
                            <input type="submit" value="Activer" title="Activer la connexion automatique" class="valid"/>
                        </form>-->
                        <a id="linkActiver" title="Activer la connexion automatique"  href="https://**.jsp">
                            <span id="spanLinkActiver">activer</span>
                        </a>
                    </span>
                </div>
Comme toutes les machines peuvent bénéficier de cet technique je préfèrais utiliser la seconde mais le problème est que ce soit pour remplir le formulaire ou la connexion automatique je n'arrive pas a cliquer sur le bouton ou remplir/soumettre le formulaire.

J'ai essayer quelque chose comme ca:

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IECreate ("**.jsp")
$o_form = _IEFormGetObjByName ($oIE, "f1")
$o_login = _IEFormElementGetObjByName ($o_form, "USER")
$o_password = _IEFormElementGetObjByName ($o_form, "PASSWORD")
$o_signin = _IEFormElementGetObjByName ($o_form, "linkValidForm")
$username = "votre ID"
$password = "votre MDP"
_IEFormElementSetValue ($o_login, $username)
_IEFormElementSetValue ($o_password, $password)
_IEAction ($o_signin, "valider")
 
Pour remplir/Soumettre le formulaire et essayer ceci:

Code : Tout sélectionner

#include <IE.au3>

$oIE = _IECreate ("**.jsp")
_IELinkClickByText($oIE, "activer")
pour valider sans le formulaire mais rien ne fait.

Auriez vous une idée?

Re: [..] Cliquer sur un lien/remplir un formulaire (IE)

Posté : jeu. 18 juin 2015 11:49
par jbnh
Tu as essayé avec _IEFormSubmit ?

Aussi attention, tu peux pas mettre ce que tu veux dans _IEAction, regarde dans la doc. Une deuxième idée serait d'uitiliser _IEAction ($o_signin, "click")

Re: [..] Cliquer sur un lien/remplir un formulaire (IE)

Posté : jeu. 18 juin 2015 19:38
par orax
Pour la 2ème méthode (connexion automatique grâce au compte windows), tu pourrais essayer ça :

Code : Tout sélectionner

$oLinkActiver=_IEGetObjById($oIE, "linkActiver")
_IEAction($oLinkActiver, "click")

Re: [..] Cliquer sur un lien/remplir un formulaire (IE)

Posté : ven. 19 juin 2015 07:38
par Erickira
Bonjour, je viens d'essayer les deux méthodes.

J'ai essayer ceci pour la connexion automatique, cela n'a pas eu de résultat. (Aucune preuve qu'il trouve ou clique sur le bouton).

Code : Tout sélectionner

;$oIE = _IECreate ("https://**jsp")
;$oLinkActiver=_IEGetObjById($oIE, "linkActiver")
Ensuite j'ai essayer ceci en premier pour le formulaire:

Code : Tout sélectionner

;$o_form = _IEFormGetObjByName ($oIE, "f1")
;$o_login = _IEFormElementGetObjByName ($o_form, "USER")
;$o_password = _IEFormElementGetObjByName ($o_form, "PASSWORD")
;$o_signin = _IEFormElementGetObjByName ($o_form, "linkValidForm")
;$username = "VOTRE ID"
;$password = "VOTRE MDP"
;_IEFormElementSetValue ($o_login, $username)
;_IEFormElementSetValue ($o_password, $password)
;_IEAction ($o_signin, "click")
mais je n'ai pas eu de résultat. Normalement même si je soumet un formulaire (vide ou éronné) une boite de dialogue intervient pour me dire que j'ai raté, dans ce cas aucune des cases ne se remplit et le message n'apparait pas.

J'ai aussi essayer ceci sans résultat:

Code : Tout sélectionner

Local $oIE = _IECreate ("https://**jsp")
Local $oForm = _IEFormGetCollection($oIE, 0)
Local $oQuery = _IEFormElementGetCollection($oForm, 0)
_IEFormElementSetValue($oQuery, "VOTRE ID")
Sleep(2000)
_IEFormSubmit($oForm)
La aussi, aucune preuve que le formulaire est été envoyé. De plus comme il me semble que du javascript soit impliqué il est dit dans le manuel de la fonction que le FORMSUBMIT peut ne pas suffire.
Je ne sais pas si il y a un moyen d'avoir un débogage.

Merci de votre aide.