[R] Remplir champs Login et Pass d'une fenêtre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
winp
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 17 nov. 2009 15:25
Status : Hors ligne

[R] Remplir champs Login et Pass d'une fenêtre

#1

Message par winp »

Bonjour,

J'aurais besoin d'un peu d'aide.
Je souhaiterais me connecter à serveur distant j'utilise donc ce petit script :

Code : Tout sélectionner

#include <IE.au3>
; Create a browser window and navigate to my server
$oIE = _IECreate ("http://192.168.10.1/index.htm")

; get pointers to the login form and username, password and signin fields
$o_form = _IEFormGetObjByName ($oIE, "f1")
$o_login = _IEFormElementGetObjByName ($o_form, "login")
$o_password = _IEFormElementGetObjByName ($o_form, "passwd")
$o_signin = _IEFormElementGetObjByName ($o_form, "SI")

$username = "your username here"
$password = "your password here"

; Set field values and submit the form
_IEFormElementSetValue ($o_login, $username)
_IEFormElementSetValue ($o_password, $password)
_IEAction ($o_signin, "click")

--> mon problème :
Ce script permet de se connecter à une même page web. Or dans mon cas, au moment de l'ouverture de la page web. il apparait une autre fenêtre de connexion indépendante de ma fenêtre d'acceuil :
img.JPG
img.JPG (15.25 Kio) Vu 3472 fois
Dans cette fenêtre, je n'arrive pas à envoyer le login et le password.Du coup, avec ce script il est impossible de se connecter au server.

J'aimerais savoir si quelqu'un à une idée car j'ai déjà utilisé d'autres fonctions comme "send", "winactve" etc...
mais ça ne donne rien.


merci d'avance.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [...]Remplir les champs login et password dune fen connexion

#2

Message par sylvanie »

Effectivemeent il faudra utiliser winwait(titre_windows) avec titre_windows étant le titre de cette fenêtre.
Mais avant, on va récupérer les infos suivante en lançant au3info depuis les outils de Scite :
titre complet
l'id du controle du chanmps login
l'id du controle du champs password.
l'id du controle du bouton "OK"

après ça on poura utiliser plutôt controlesend ou controlesettext sur ces deux id
puis on clickera grace à controleclick
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [...]Remplir les champs login et password dune fen connexion

#3

Message par Iste »

Ou vous pouvez aussi changer le "http://192.168.10.1/index.htm" en "http://login:password@192.168.10.1/index.htm"

Sinon, c'est bien de respecter les regles, mais les respecter totalement c'est mieux.
Aussi, merci d'ajouter les balises de code a votre message, et tant que vous etre, formater la balise dans le titre corectement
[..] Deux points entre crochets, un espace et une Majuscule
Signez ici
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [...]Remplir les champs login et password dune fen connexion

#4

Message par sylvanie »

Ah bah oui, la réponse d'Iste est plus simple en effet. Tant qu'il s'agit d'authentification html ou ftp ça le fera
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
winp
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 17 nov. 2009 15:25
Status : Hors ligne

Re: [..] Remplir champs Login et Pass d'une fenêtre

#5

Message par winp »

Bonjour,

Avant toute chose, merci pour vos réponses.

- la réponse sur le login et le password dans l'URL ne marche pas !!

- la seconde j'ai mis :

Winwait($WinName)
ControlSend ( $WinName, "", "[CLASS:Edit; INSTANCE:3]", $password )

mais il ne se passe rien !!
winp
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 17 nov. 2009 15:25
Status : Hors ligne

Re: [..] Remplir champs Login et Pass d'une fenêtre

#6

Message par winp »

En fait, j'ai l'impression que mon programme reste bloqué sur IECreate :

_IECreate($nomserveur)

car la fenêtre d'accueil ne peut pas se charger complètement tant qu'on n'a pas rentré le login et le password.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Remplir champs Login et Pass d'une fenêtre

#7

Message par sylvanie »

Commençons par vérifier que le titre est le bon, ça paraît bête mais des fois ça diffère d'un chouilla...
Est on sûr qu'o passe le cap du Winwait ? (le script continue d'attendre, ou il se finit quand même ?)

Puis Je ferai déjà un premier test sur le retour de controlsend pour voir si il renvoie bien 0, cas négatif où il ne trouve pas le contrôle, pour dissocier du cas où il trouve le controle mais rien n'est envoyé.
Au final, ça ne marche pas, mais on en saura plus sur le pourquoi du comment.

Ensuite dans le cas "0", il faudrait essayer avec un autre type d'identifiant. Je suppose qu'Au3info à du ressortir un nuléro d'Id sous forme décimal. A des fin de débug, car cet id dans l'absolue peut varirier, il serait bon d'essayer un controlsend sur cette valeur d'id. Si l'id change d'un run à l'autre, alors faudra ruser :
mettre un inputbow pour sasisir l'id manuellement au moment du run. comme ça on redétermine en live l'id grâce à au3info (lancé avant léxécution du script) on on l'entre à la volé.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Remplir champs Login et Pass d'une fenêtre

#8

Message par sylvanie »

Croisement de posts ...
Dans ce cas uitilsee un _IE_create avec en arg après l'url : 0,1,0 (voir le fichier d'aide).
Puis mettre un sleep pour temporiser avant de passer à la suite
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
winp
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mar. 17 nov. 2009 15:25
Status : Hors ligne

[R] Remplir champs Login et Pass d'une fenêtre

#9

Message par winp »

oui, c'est exactement ça !!

_IECreate(adresse_serveur,0,1,0)
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [R] Remplir champs Login et Pass d'une fenêtre

#10

Message par sylvanie »

Bien pensé pour le [R], mais c'est en éditant le premier post qu'il se propage en cascade.
Pour encourrager l'effort je viens de le rectifier, à y penser pour la prochaine fois ;)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre