[R] IE Bouton non-réceptif au clic...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

[R] IE Bouton non-réceptif au clic...

#1

Message par SagePourpre »

Bonjour à tous.

Je cherche à me connecter à l'espace-client de mon fournisseur internet de façon transparente afin
de récupérer mes infos de consommation internet mais...

J'ouvre une page de navigateur et entre mes informations ( Nom d'utilisateur et Mot de passe ) sans
problème. Par contre, je n'arrive pas à cliquer sur le bouton connexion outre que par l'exécution de
ma fonction methodemoche().

Comme vous vous en doutez, je n'aime pas du tout cette méthode.
Je voudrais trouver un moyen alternatif afin de me connecter mais je n'arrive
pas à envoyer le formulaire correctement.

J'ai mis en commentaires mes deux tentatives ratées.

Si vous avez une idée, je suis toute ouïe.
Moi, j'avoue être dans une impasse pour l'instant...



Code : Tout sélectionner

#include <Array.au3>
#include <IE.au3>
Opt('MouseCoordMode',2)
Global Const _
$Url_Connect = 'https://www.videotron.com/client/user-management/secur/Forward.do?to=/WEB-INF/jsp/accueil.jsp&lang=fr'

$oIE = _IECreate('https://www.videotron.com/client/user-management/secur/Forward.do?to=/WEB-INF/jsp/accueil.jsp&lang=fr',0,1,1,0)
$nu = _IEGetObjById($oIE,'monCodeUtilEC')
$pwd = _IEGetObjById($oIE,'pswMonCompteEC')


_IEFormElementSetValue($nu,'bbb')
_IEFormElementSetValue($pwd,'bbb')


;_IELinkClickByIndex($oIE,25)       ; Test 1

; $submit = _IEGetObjById($oIE,'espace-client-connexion') ; Test 2
;_IEAction($submit,'click')

methodeMoche()  



_IELoadWait($oIE,0)


;While WinExists(



Func methodeMoche()
    $cpos = ControlGetPos('Espace client - Windows Internet Explorer','','[CLASS:Internet Explorer_Server; INSTANCE:1]')
MouseClick('left',750,330+$cpos[1],1,0)
EndFunc


Func links()
    $oLinks = _IELinkGetCollection($oIE)
$iNumLinks = @extended
$i = 0
For $oLink In $oLinks
    $i+=1
ConsoleWrite('Lien ' & $i & ' : ' & $oLink.href & @CRLF)
Next
EndFunc





 

edit :
Réponse au problème

Code : Tout sélectionner

    Local $connexion
    $elements = _IEFormElementGetCollection($oForm)
    For $element in $elements
        If StringInStr($element.value, "Connexion") > 0 Then
            $connexion = $element
        EndIf
    Next
    _IEAction($connexion, "click")
EndIf
 
Cette méthode permet de récupérer l'objet du bouton à l'aide du texte de cet élément
afin d'effectuer d'autres opérations par la suite.
Modifié en dernier par SagePourpre le jeu. 13 mai 2010 09:08, modifié 1 fois.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] IE Bouton non-réceptif au clic...

#2

Message par ani »

Avec ceux-ci peut-être:

Code : Tout sélectionner

#include <IE.au3>
Global Const $Url_Connect = 'https://www.videotron.com/client/user-management/secur/Forward.do?to=/WEB-INF/jsp/accueil.jsp&lang=fr'

$oIE = _IECreate($Url_Connect)
$oForm = _IEGetObjById($oIE, "espace-client-connexion")
$oName = _IEGetObjById($oIE, "monCodeUtilEC")
$oPass = _IEGetObjById($oIE, "pswMonCompteEC")

_IEFormElementSetValue($oName, "by") ; changer le nom d'utilisateur
_IEFormElementSetValue($oPass, "tr") ; changer le mot de passe
_IEFormSubmit($oForm)
Pour me connecter à la page d'acceuil j'utilise ceux-ci:
=> IExplore "https:\\user:pass@Lien.com"


bonne continuation ;)
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] IE Bouton non-réceptif au clic...

#3

Message par SagePourpre »

Si j'entre un mauvais nom d'utilisateur et/ou mauvais
mot de passe, j'ai ce message qui apparaît :

'Désolé, le nom
d'utilisateur et/ou le mot de passe ne sont
pas reconnus.
Veuillez essayer à nouveau ou cliquer sur
le lien "Je suis incapable
d'accéder à l'Espace client".


C'est la preuve que _IEFormSubmit($oForm)
fonctionne.

Cependant, si le bon nom d'utilisateur et le
bon mot de passe sont entrés, la barre d'état
indique que la page travaille puis... plus rien.

Aucune connexion n'est effectuée à l'espace-client.
Du coup, je ne sais plus trop comment procéder.


Pour ce qui est de :
https://User:Pass@lien.com

Ce protocole de connexion ne fonctionne pas sous IE ( en tout cas, pas sur le mien ).
Sous firefox, ça fonctionne mais ce n'est pas un protocole de connexion valide pour Vidéotron.com

Je crois que je vais devoir m'en remettre au peu convivial MouseClick finalement...

Je reste toutefois toute ouïe à toutes suggestions :)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] IE Bouton non-réceptif au clic...

#4

Message par ani »

Si j'entre un mauvais nom d'utilisateur et/ou mauvais
mot de passe, j'ai ce message qui apparaît :
Heureusement :p

Pour le http(s), ok, certain site ne prenne pas en comte cette méthode.
mais de là à dire que ce protocol ne fonctionne pas sous ie !! y a une planéte ?
Disponible depuis la version 3.0 Internet Explorer.
=> http://[user:[password]@]host.domain[path][?query][#fragment]

Pour l'attente faudra peut-être ajouter _IELoadWait($oIE)

bonne continuation ;)
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] IE Bouton non-réceptif au clic...

#5

Message par SagePourpre »

http://bullybullytwent:bullybully@www.nytimes.com/
Si je clique sur ce lien, mon firefox m'avise que je tente d'aller sur un site avec une
authentification alors que le site n'en demande pas...

Par contre, si j'ouvre ce lien sous IE, j'ai à tous les coups :
Image


ani a écrit :
Si j'entre un mauvais nom d'utilisateur et/ou mauvais
mot de passe, j'ai ce message qui apparaît :
Heureusement :p
Heureusement en effet. Mon point était surtout de mettre en avant le fait que la page
internet réagissait à l'envoi du formulaire mais si les bonnes informations sont entrées, celles qui
devraient me permettre de me connecter, et bien rien ne se passe.

Normalement, ma logique voudrait que rien ne se passe également avec un faux mot de passe.
Tel n'est pas le cas, puisqu'un message d'erreur appraraît.





edit :


J'ai finalement réussi à solutionner mon problème avec ces quelques lignes :

Code : Tout sélectionner

    Local $connexion
    $elements = _IEFormElementGetCollection($oForm)
    For $element in $elements
        If StringInStr($element.value, "Connexion") > 0 Then
            $connexion = $element
        EndIf
    Next
    _IEAction($connexion, "click")
EndIf
 
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Répondre