[R] Aller sur site internet
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- jwelcsbe
- Niveau 2

- Messages : 24
- Enregistré le : ven. 20 avr. 2012 21:34
- Localisation : CANADA
- Status : Hors ligne
[R] Aller sur site internet
Bonjour à et toutes.
Ceci est mon premier message sur le forum Autoit.
En effet, je viens de découvrir ce langage que je souhaite maitriser. Il offre un grand de possibilité et je trouve cela vraiment intéressant.
Mon objectif final serait d'arriver à creer un script capable d'ouvrir une page fireFox.
Je pense savoir comment faire avec la fonction ($rc = _RunDos("start firefox.exe"))
Il devra aller sur un site internet, en l’occurrence mon serveur de messagerie et se logger.
D'après quelques petites recherches, il faut chercher dans le code source de la page les champs prêt à remplir et les remplir ?
Si il arrive à se connecter il faudrai qu'il écrive un fichier qui me le dise. Dans lequel il serait écrit par exemple '1'.
Je pense que c'est cette fonction qu'il faut utiliser ici non ? ( FileWriteLine )
je vous remercie de l'aide que vous pourrez m'apporter ainsi que les explications qui me feront m'améliorer.
bien cordialement,
Ceci est mon premier message sur le forum Autoit.
En effet, je viens de découvrir ce langage que je souhaite maitriser. Il offre un grand de possibilité et je trouve cela vraiment intéressant.
Mon objectif final serait d'arriver à creer un script capable d'ouvrir une page fireFox.
Je pense savoir comment faire avec la fonction ($rc = _RunDos("start firefox.exe"))
Il devra aller sur un site internet, en l’occurrence mon serveur de messagerie et se logger.
D'après quelques petites recherches, il faut chercher dans le code source de la page les champs prêt à remplir et les remplir ?
Si il arrive à se connecter il faudrai qu'il écrive un fichier qui me le dise. Dans lequel il serait écrit par exemple '1'.
Je pense que c'est cette fonction qu'il faut utiliser ici non ? ( FileWriteLine )
je vous remercie de l'aide que vous pourrez m'apporter ainsi que les explications qui me feront m'améliorer.
bien cordialement,
Modifié en dernier par jwelcsbe le jeu. 26 avr. 2012 17:38, modifié 1 fois.
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Aller sur site internet
Vous gagnerez en efficacité et simplicité à utiliser les fonctions IE de AutoIt.
Puisque cette recherche est sensée se passer de manière transparente, il n'y a aucun intérêt de passer par FireFox.
Ensuite sur le but de votre script, votre description n'est pas claire. Vous devriez donner un peut plus d'information sur les actions à réaliser.
Puisque cette recherche est sensée se passer de manière transparente, il n'y a aucun intérêt de passer par FireFox.
Ensuite sur le but de votre script, votre description n'est pas claire. Vous devriez donner un peut plus d'information sur les actions à réaliser.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- jwelcsbe
- Niveau 2

- Messages : 24
- Enregistré le : ven. 20 avr. 2012 21:34
- Localisation : CANADA
- Status : Hors ligne
Re: [..] Aller sur site internet
Excusez moi, je ne connais que très peu ce langage de programmation.
Effectivement il serait plus judicieux de le faire tourner en transparent. Je ne savais pas que cela pouvais se faire.
Je vais essayer d'étoffer plus mes attentes.
Mon script doit être capable d’accéder à mon site de messagerie et de s'y connecter.
Si il y arrive il écrit dans un fichier qu'il y est arrivé, sinon il écrit dans un autre pour dire qu'il n'y est pas arrivé.
je sais pas si c'est peut-être plus clair ?
Bien cordialement,
Effectivement il serait plus judicieux de le faire tourner en transparent. Je ne savais pas que cela pouvais se faire.
Je vais essayer d'étoffer plus mes attentes.
Mon script doit être capable d’accéder à mon site de messagerie et de s'y connecter.
Si il y arrive il écrit dans un fichier qu'il y est arrivé, sinon il écrit dans un autre pour dire qu'il n'y est pas arrivé.
je sais pas si c'est peut-être plus clair ?
Bien cordialement,
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Aller sur site internet
Bonsoir et bienvenue !
Voici un début de script venant à la base de ce post. Ce n'est qu'une base légèrement commentée pour comprendre la base d'IE, je te suggère de regarder aussi ce post. Il explique ce qu'est l'IE et répond à quelques questions que tu pourras te poser plus tard.
Voilà voilà !
Voici un début de script venant à la base de ce post. Ce n'est qu'une base légèrement commentée pour comprendre la base d'IE, je te suggère de regarder aussi ce post. Il explique ce qu'est l'IE et répond à quelques questions que tu pourras te poser plus tard.
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <IE.au3>
$ui = GUICreate("Interface utilisateur volée à hilow", 600, 500) ; on créer la GUI
$btn = GUICtrlCreateButton("enregistrer fichier", 10, 10, 200, 25) ; on créer un bouton pour enregistrer un fichier
$wb = _IECreateEmbedded() ; on appel le navigateur embarqué
GUICtrlCreateObj($wb, 10, 40, 580, 450) ; on le met en place ici
GUISetState() ; on montre la GUI
_IENavigate($wb, "http://google.com", 1) ; l'adresse de votre messagerie
While 1
Switch GUIGetMsg()
Case $btn ; si on clique sur le bouton enregistrer
$url = _IEPropertyGet($wb,"locationurl") ; on récupère l'URL
IniWrite(@ScriptDir&"\ie.ini","IE","url",$url) ; on l'écrit
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndÉtudiant en 2ème année de Licence Informatique.
- jwelcsbe
- Niveau 2

- Messages : 24
- Enregistré le : ven. 20 avr. 2012 21:34
- Localisation : CANADA
- Status : Hors ligne
Re: [..] Aller sur site internet
Merci de ta réponse, c'est vrai que c'est un bon début.
Je commence à mieux comprendre comment marche autoit.
Seulement je comprend pas 2-3 choses.
Pourquoi creer un bouton pour creer un fichier ?
Quand j'arrive sur ma page WEB, il y a directement deux champs à remplir ; User/Password.
Comment lui faire dire que je veux rentrer des valeurs dans ces deux champs ?
Je commence à mieux comprendre comment marche autoit.
Seulement je comprend pas 2-3 choses.
Pourquoi creer un bouton pour creer un fichier ?
Quand j'arrive sur ma page WEB, il y a directement deux champs à remplir ; User/Password.
Comment lui faire dire que je veux rentrer des valeurs dans ces deux champs ?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Aller sur site internet
Humjwelcsbe a écrit :Quand j'arrive sur ma page WEB, il y a directement deux champs à remplir ; User/Password.
Si tu nous donnais l'adresse de cette page (histoire de voir son code-source) ça ferait économiser *énormément* de temps et de parlotes ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- jwelcsbe
- Niveau 2

- Messages : 24
- Enregistré le : ven. 20 avr. 2012 21:34
- Localisation : CANADA
- Status : Hors ligne
Re: [..] Aller sur site internet
Oui pardon.
J'ai fait quelques petites manips à base de send. ..
je ne sais pas si c'est la meilleur solution.
https://courrier.csbe.qc.ca/owa/
J'ai fait quelques petites manips à base de send. ..
je ne sais pas si c'est la meilleur solution.
https://courrier.csbe.qc.ca/owa/
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Aller sur site internet
Ben voilà 
Essaye donc çaEDIT : Si l'identification est acceptée, une nouvelle page doit s'ouvrir, avec des caractéristiques différentes (qu'on peut capter) qui permettront de savoir si c'est bon ou pas
Par exemple, dans ce script on envoie dans la MsgBox ce qui est dans la barre d'adresse de cette nouvelle page
Essaye donc ça
Code : Tout sélectionner
#include <IE.au3>
$oIE = _IECreate ("https://courrier.csbe.qc.ca/owa/")
$identif = _IEFormGetObjByName ($oIE, "logonForm")
$login = _IEFormElementGetObjByName ($identif , "username")
$mdp = _IEFormElementGetObjByName ($identif , "password")
_IEFormElementSetValue ($login, "[color=#FF0000]mylogin[/color]") ; [color=#FF0000]<= à remplir[/color]
_IEFormElementSetValue ($mdp, "[color=#FF0000]mypass[/color]") ; [color=#FF0000]<= à remplir[/color]
_IEFormSubmit ($identif, 1)
msgbox(0,"", $oIE.locationurl)Par exemple, dans ce script on envoie dans la MsgBox ce qui est dans la barre d'adresse de cette nouvelle page
Modifié en dernier par mikell le lun. 23 avr. 2012 17:40, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- jwelcsbe
- Niveau 2

- Messages : 24
- Enregistré le : ven. 20 avr. 2012 21:34
- Localisation : CANADA
- Status : Hors ligne
Re: [..] Aller sur site internet
Non sa ne marche pas, il ne remplis pas les champs en questions. . .
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Aller sur site internet
Tiens, chez moi ça marche mais il me met en bas de la page
"Le nom d'utilisateur ou le mot de passe que vous avez entré n'est pas correct. Essayez de l'entrer à nouveau."
Essaye d'intercaler des Sleep(100)
"Le nom d'utilisateur ou le mot de passe que vous avez entré n'est pas correct. Essayez de l'entrer à nouveau."
Essaye d'intercaler des Sleep(100)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Aller sur site internet
Je valide le script de Mikell, testé comme tel et ça a bien marché pour moi.
Étudiant en 2ème année de Licence Informatique.
- jwelcsbe
- Niveau 2

- Messages : 24
- Enregistré le : ven. 20 avr. 2012 21:34
- Localisation : CANADA
- Status : Hors ligne
Re: [..] Aller sur site internet
Grâce à l'aide précieuse de mikell, nous en sommes arrivé à ce point.
Il ne manquerai maintenant qu'une chose.
Je voudrais qu'il y ai une variable, de type booleen, qui soit capable si elle est mise à TRUE, d'exécuter le script en mode transparent.
Si en revanche elle est mises à FALSE, qu'elle éxécute le script en mode transparent, tel qu'il l'est actuellement.
Je vous remercie par avance.
Bien cordialement,
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <IE.au3>
Opt("WinTitleMatchMode", -2)
$wb = _IECreate ("https://courrier.csbe.qc.ca/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2fcourrier.csbe.qc.ca%2fowa%2f", 0, 0, 1, 1)
$identif = _IEFormGetObjByName ($wb, "logonForm")
$login = _IEFormElementGetObjByName ($identif , "username")
$mdp = _IEFormElementGetObjByName ($identif , "password")
$ok = "CORRECT /"
$okk = "INCORRECT /"
Local $oSubmit = _IEGetObjByName($wb, "submitExample")
_IEFormElementSetValue ($login, "wyselab01") ; <<
_IEFormElementSetValue ($mdp, "wyselab01") ; <<
$handle = ControlGetHandle("Outlook", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]")
sleep(500)
ControlFocus("Outlook", "", $handle)
ControlSend("Outlook", "", $handle, "{tab}")
sleep(500)
ControlSend("Outlook", "", $handle, "{enter}")
sleep(500)
_IELoadWait ($wb)
$txt = "wyselab01" & " / " & "wyselab01" & " / " & @HOUR &":"& @MIN & " / "
If StringInStr($wb.locationurl, "logon") Then
$txt &= " __ NON CONNECTE __ "
sleep(500)
FileWrite("PASOK.txt", $okk)
Else
$txt &= " __ CONNECTE __ "
sleep(500)
FileWrite("OK.txt", $ok)
EndIf
sleep(500)
msgbox(0,"", $txt)
Je voudrais qu'il y ai une variable, de type booleen, qui soit capable si elle est mise à TRUE, d'exécuter le script en mode transparent.
Si en revanche elle est mises à FALSE, qu'elle éxécute le script en mode transparent, tel qu'il l'est actuellement.
Je vous remercie par avance.
Bien cordialement,
-
ani
- Niveau 11

- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..] Aller sur site internet
hein pas suivit :p
si True mode transparent
si False mode transparent
à quoi bon sortir une variable de type booleen ?
si True mode transparent
si False mode transparent
à quoi bon sortir une variable de type booleen ?
Code : Tout sélectionner
$var = true
If $var = False then
....action
else
....action
endif- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Aller sur site internet
C'est peut être pas beau à voir, mais ça répond aux attentes :
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Aller sur site internet
@blacksoul
Tu pourrais tester ça et me dire si pour toi ça marche ?
Tu pourrais tester ça et me dire si pour toi ça marche ?
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Aller sur site internet
Salut,
alors le code semble fonctionner correctement chez moi.
Le processus est transparent jusqu'à la fin où internet explorer s'affiche avec le pseudo et le mot de passe rentré, le fichier texte est aussi créé en disant qu'il n'a pu se connecter.
Mais ne voulait-il pas une fonction lui permettant si il le veut, de tourner le script soit en mode furtif, ou alors en mode voyant ?
alors le code semble fonctionner correctement chez moi.
Le processus est transparent jusqu'à la fin où internet explorer s'affiche avec le pseudo et le mot de passe rentré, le fichier texte est aussi créé en disant qu'il n'a pu se connecter.
Mais ne voulait-il pas une fonction lui permettant si il le veut, de tourner le script soit en mode furtif, ou alors en mode voyant ?
Étudiant en 2ème année de Licence Informatique.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Aller sur site internet
Si mais pour ça il suffit de jouer sur la variable $visible
Mais chez moi, quand je lance le script, comme les identifiants sont valables il se connecte et crée un fichier YES.txt
Faudrait peut-être supprimer le 'Opt("WinTitleMatchMode", -2)' et rajouter un WinActivate (le mode invisible fait perdre le focus à la fenêtre)
Mais chez moi, quand je lance le script, comme les identifiants sont valables il se connecte et crée un fichier YES.txt
Faudrait peut-être supprimer le 'Opt("WinTitleMatchMode", -2)' et rajouter un WinActivate (le mode invisible fait perdre le focus à la fenêtre)
Code : Tout sélectionner
_IEFormElementSetValue ($login, $username)
_IEFormElementSetValue ($mdp, $password)
WinActivate("Outlook") ; <<
... etc" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Aller sur site internet
Bah c'est logique non ? Ça me viendrai pas à l'idée de donner le focus à une fenêtre invisible.mikell a écrit :(le mode invisible fait perdre le focus à la fenêtre)Code : Tout sélectionner
_IEFormElementSetValue ($login, $username) _IEFormElementSetValue ($mdp, $password) WinActivate("Outlook") ; << ... etc
Pour la variable $visible j'ai pas vu, j'n'ai pas beaucoup de temps et me suis hâter pour te donner les résultats du script.
Enfin, étant donné que j'n'ai pas pris le temps de m'inscrire, j'ai pu tester que dans le cas où ça arrive pas à se connecter.
EDIT : Mais c'es quoi ton soucis, tout à l'air bon de ton côté non ?
EDIT2 : Comment tu as fais pour localiser les deux inputs et les remplir avec ton programme? Je n'arrive pas à comprendre, même en ouvrant le code source de la page web.
Étudiant en 2ème année de Licence Informatique.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Aller sur site internet
Pour les input :
Mon souci c'est que le script fonctionne nickel chez moi tel que je l'ai décrit, mais pas chez lui 
Code : Tout sélectionner
<input id="username" name="username" class="txt" type="text">
<input id="password" name="password" class="txt" onfocus="g_fFcs=0" type="password">" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- blacksoul305
- Membre émérite

- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: [..] Aller sur site internet
Ah, d'accord. Bah va falloir que je regarde encore alors ! Mais sinon, le script fonctionne nickel, je viens de recommencer.mikell a écrit :Pour les input :Mon souci c'est que le script fonctionne nickel chez moi tel que je l'ai décrit, mais pas chez luiCode : Tout sélectionner
<input id="username" name="username" class="txt" type="text"> <input id="password" name="password" class="txt" onfocus="g_fFcs=0" type="password">
Étudiant en 2ème année de Licence Informatique.
