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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Erickira
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 18 juin 2015 09:11
Status : Hors ligne

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

#1

Message 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?
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

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

#2

Message 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")
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#3

Message 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")
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Erickira
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 18 juin 2015 09:11
Status : Hors ligne

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

#4

Message 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.
Répondre