AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Connection automatique sur un form, + gestion ini et windows

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
jm_zz
Débutant
Débutant


Nombre de messages : 4
Date d'inscription : 02/05/2007

MessageSujet: Connection automatique sur un form, + gestion ini et windows   2007-05-03, 13:44

Voilà mon premier petit script très simple avec la bibliothèque internet explorer .

Le but du jeu : entre automatiquement des identifiants sur le form d'une page web.
Ce qu'il faut connaitre c'est le nom du form sur la page web, et le nom des champs nom d'utilisateur et mots de passe.
Je simule après un click sur le bouton submit.

toutes ces variables sont à changer dans la fonction "Func _connectTOP" tout en bas du script.

Le gui encode les mots de passe pour plus de sécurité dans le fichier ini qui les stocke.

; AutoIt 3.0.103 example
; 02 Mai 2007 - jm

#include
#include
#include
#include
#include
#include
#include


; petite gestion du gui ....
If WinExists("AUTOCONNECT TOPAGRIWEB") Then

WinClose ("AUTOCONNECT TOPAGRIWEB")
Exit
EndIf

If WinExists("AUTOCONNECT TOPAGRIWEB") Then
WinSetOnTop("AUTOCONNECT TOPAGRIWEB", "", 1)

EndIf

GuiCreate("AUTOCONNECT TOPAGRIWEB", 250, 260,(@DesktopWidth-255), (50) , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)


;les variables

; ne pas oublier de créer un fichier auto.ini dans le répertoire du script
$pathini = @WorkingDir & "\auto.ini"

;Mots de passe global pour l'ensemble de l'appli, on s'en sert pour encrypter les informations dans l'ini...
$mdpg = "motsdepasseglobal"

; INPUT

; bouton pour sauvegarder les champs qui sont changé
$sauve = GuiCtrlCreateButton ("sauvegarder",0,190,150,20)

; bouton qui kill toutes les instances de IE
$killie = GuiCtrlCreateButton ("tue IE",90,230,80,20)
$cancelbutton = GuiCtrlCreateButton ("quitter",0,230,80,20)


GUICtrlCreateLabel("Nom utilisateur", 0, 20, 80, 20)
GUICtrlSetBkColor(-1,0x00ff00)

gUICtrlCreateLabel("Mots de passe", 90, 20, 80, 20)
GUICtrlSetBkColor(-1,0x00ff00)

;les couples noms d'utilisateurs mots de passe
$NOM1 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "nom1", "non trouvé"),$mdpg,2) , 0, 40, 80, 20)
$PASS1 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "pass1", "non trouvé"),$mdpg,2), 90, 40, 80, 20,$ES_PASSWORD)
$connect1 = GuiCtrlCreateButton ("GO",180,40,30,20)


$NOM2 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "nom2", "non trouvé"),$mdpg,2) , 0, 70, 80, 20)
$PASS2 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "pass2", "non trouvé"),$mdpg,2), 90,70, 80, 20,$ES_PASSWORD)
$connect2 = GuiCtrlCreateButton ("GO",180,70,30,20)

$NOM3 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "nom3", "non trouvé"),$mdpg,2) , 0, 100, 80, 20)
$PASS3 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "pass3", "non trouvé"),$mdpg,2), 90, 100, 80, 20,$ES_PASSWORD)
$connect3 = GuiCtrlCreateButton ("GO",180,100,30,20)

$NOM4 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "nom4", "non trouvé"),$mdpg,2) , 0, 130, 80, 20)
$PASS4 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "pass4", "non trouvé"),$mdpg,2), 90, 130, 80, 20,$ES_PASSWORD)
$connect4 = GuiCtrlCreateButton ("GO",180,130,30,20)

$NOM5 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "nom5", "non trouvé"),$mdpg,2) , 0, 160, 80, 20)
$PASS5 = GuiCtrlCreateInput( _StringEncrypt (0,IniRead($pathini, "TOPAGRI", "pass5", "non trouvé"),$mdpg,2), 90, 160, 80, 20,$ES_PASSWORD)
$connect5 = GuiCtrlCreateButton ("GO",180,160,30,20)

;gestion de l'interactivité

GuiSetState()
; GUI MESSAGE LOOP
While 1
$msg = GUIGetMsg()


Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton
ExitLoop

case $msg = $sauve
IniWrite($pathini, "TOPAGRI", "nom1", _StringEncrypt (1,GUICtrlRead ( $NOM1 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "pass1", _StringEncrypt (1,GUICtrlRead ( $PASS1 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "nom2", _StringEncrypt (1,GUICtrlRead ( $NOM2 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "pass2", _StringEncrypt (1,GUICtrlRead ( $PASS2),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "nom3", _StringEncrypt (1,GUICtrlRead ( $NOM3 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "pass3", _StringEncrypt (1,GUICtrlRead ( $PASS3 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "nom4", _StringEncrypt (1,GUICtrlRead ( $NOM4 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "pass4", _StringEncrypt (1,GUICtrlRead ( $PASS4 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "nom5", _StringEncrypt (1,GUICtrlRead ( $NOM5 ),$mdpg,2))
IniWrite($pathini, "TOPAGRI", "pass5", _StringEncrypt (1,GUICtrlRead ( $PASS5 ),$mdpg,2))

case $msg = $connect1

_connectTOP (GUICtrlRead ( $NOM1 ),GUICtrlRead ( $PASS1 ))

case $msg = $connect2

_connectTOP (GUICtrlRead ( $NOM2 ),GUICtrlRead ( $PASS2 ))

case $msg = $connect3

_connectTOP (GUICtrlRead ( $NOM3 ),GUICtrlRead ( $PASS3 ))

case $msg = $connect4

_connectTOP (GUICtrlRead ( $NOM4 ),GUICtrlRead ( $PASS4 ))

case $msg = $connect5

_connectTOP (GUICtrlRead ( $NOM5 ),GUICtrlRead ( $PASS5 ))


case $msg = $killie

$var = WinList()

For $i = 1 to $var[0][0]
; Only display visble windows that have a title
If $var[$i][0] <> "" Then
$result = StringInStr( $var[$i][0], "Microsoft Internet Explorer")
if $result > 0 then
;MsgBox(0, "Search result:", $result)
; MsgBox(0, "Details", "Title=" & $var[$i][0] & @LF & "Handle=" & $var[$i][1])
winkill($var[$i][0])
EndIf
EndIf
Next



EndSelect
WEnd

GUIDelete()

Exit

; GUI MESSAGE LOOP
GuiSetState()
While GuiGetMsg() <> $GUI_EVENT_CLOSE
WEnd


Func _connectTOP($nom, $pass)



$oIE = _IECreate(0)

; Set Variables

;==============================================


; modifié toutes ces variables selon votre page web...
_IENavigate($oIE, "http://urlduform.com/form.htm")

; get pointers to the login form and username and password fields
;nom du form
$o_form = _IEFormGetObjByName ($oIE, "formu")
;nom du login
$o_name = _IEFormElementGetObjByName($o_form, "login")
;nom du password
$o_to = _IEFormElementGetObjByName($o_form, "password")




;==============================================

; End Veriables

; Set field values and submit the form
_IEFormElementSetValue($o_name, $nom)
_IEFormElementSetValue($o_to, $pass)

;cette méthode marche mal remplacé par la méthode ci-dessous
;_IEFormSubmit($o_form)

;vérifié que le bouton submit, s'appelle bien submit
$oSubmit = _IEGetObjByName ($oIE, "Submit")
_IEAction ($oSubmit, "click")
_IELoadWait ($oIE)

EndFunc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Connection automatique sur un form, + gestion ini et windows   2007-05-03, 14:38

Un script \o/

pour ceux qui peine pour les includes

#include <guiconstants.au3>
#include <ie.au3>
#include <String.au3>


j'adore l'animation qui se produit (input1 input2 et le bouton go)*5

merci jm_zz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jm_zz
Débutant
Débutant


Nombre de messages : 4
Date d'inscription : 02/05/2007

MessageSujet: Re: Connection automatique sur un form, + gestion ini et windows   2007-06-20, 20:00

Merci pour le commentaire, en effet un peu branleur je laisse toutes mes include par défaut :!

Au niveau de l'animation c'est en fait le temps de décryptage un peu lourd que j'ai paramétré... il est possible de l'alléger....
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Connection automatique sur un form, + gestion ini et windows   Aujourd'hui à 10:41

Revenir en haut Aller en bas
 
Connection automatique sur un form, + gestion ini et windows
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Connection automatique à un tchat ?
» Problème de connection automatique sur ce forum ?
» probleme de connection nuvi 1490t express [resolu]
» [Points] Gestion des points, options defalcation automatique....
» [résolu]identifiant perdu à chaque connection

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Scripts-
Sauter vers: