[R] IE sur l'ancienne URL

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Ouraios
Niveau 1
Niveau 1
Messages : 5
Enregistré le : sam. 28 juin 2014 15:49
Status : Hors ligne

[R] IE sur l'ancienne URL

#1

Message par Ouraios »

Bonsoir à tous voilà je fais un ptite fonction d'autologin avec l'UDF IE tout va bien jusqu'à ce que le click s'effectue pour valider le login et que la page s'actualise une fois le login effectué, le navigateur est sur la page post connexion tandis que dans le programme autoit il semble toujours sur la page précédente celle du login.
Comment cela se fait il ? On dirait que l'objet $nav ne s'actualise pas une fois la page rechargée.

Code : Tout sélectionner

#include <IE.au3>
#include <Array.au3>

;~ Creation de la fenetre de navigation

Global $nav = _IECreate ( "ogame.Fr")

;~ Initialisation variable pour login

Local $butLog = _IEGetObjById($nav,"loginBtn")
Local $logUni = _IEGetObjById($nav,"serverLogin")
Local $logUser = _IEGetObjById($nav,"usernameLogin")
Local $logPass = _IEGetObjById($nav,"passwordLogin")
Local $logSubmit = _IEGetObjById($nav,"loginSubmit")

;~ On remplit le formulaire et on l'envoit
ConsoleWrite(_IEPropertyGet($nav,"locationurl")&@CRLF)
_IEAction($butLog, "click")
_IEFormElementOptionSelect($logUni,"s64-fr.ogame.gameforge.com",1,"byValue")
_IEFormElementSetValue($logUser,"XXXXX")
_IEFormElementSetValue($logPass,"YYYYYYY")
_IEAction($logSubmit, "click")
_IELoadWait($nav)
ConsoleWrite(_IEPropertyGet($nav,"locationurl")&@CRLF)


ConsoleWrite(_IEPropertyGet($nav,"locationurl")&@CRLF)
Local $oInputs = _IETagNameAllGetCollection($nav)
Local $oInput
For $oInput In $oInputs
;~      ConsoleWrite("Tagname: " & $oInput.tagname & @CRLF & "id: " & $oInput.id & @CRLF & "innerText: " & $oInput.innerText)
    if $oInput.href = "http://s64-fr.ogame.gameforge.com/game/index.php?page=resources" Then
        $oInput.Click
        ExitLoop
    EndIf
    Next
 
Modifié en dernier par Ouraios le jeu. 26 mars 2015 00:21, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..]IE sur l'ancienne URL

#2

Message par orax »

J'ai utilisé _IEFormSubmit plutôt que de simuler un clic mais je n'ai pas pu tester.
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Ouraios
Niveau 1
Niveau 1
Messages : 5
Enregistré le : sam. 28 juin 2014 15:49
Status : Hors ligne

Re: [..] IE sur l'ancienne URL

#3

Message par Ouraios »

J'ai testé mais ça n'a pas marché l'un ou l'autre devant sans doutes revenir au même pour la navigation.

EDIT :

SOLUTION TROUVE !

Il faut faire un LoadWait ainsi qu'un sleep après la création de la variable IECreate !
Comme ceci :

Code : Tout sélectionner

Global $nav = _IECreate ("ogame.fr")
_IELoadWait($nav)
Sleep(1000)
Attention aussi à que la variable nav soit bien en Global, en enlevant le Global j'ai rencontré le même problème alors que mon script s'exécute bien dans un seul et même fichier sans passer par des fonctions, étrange ..

En tout cas pour moi en faisant tout ça, ça marche nickel !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] IE sur l'ancienne URL

#4

Message par jguinch »

Si c'est OK, merci de modifier le titre du premier message en [R].
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre