Page 1 sur 1

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

Posté : dim. 09 mai 2010 14:53
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.

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

Posté : mer. 12 mai 2010 08:34
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 ;)

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

Posté : mer. 12 mai 2010 09:38
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 :)

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

Posté : mer. 12 mai 2010 11:40
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 ;)

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

Posté : jeu. 13 mai 2010 09:07
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