[..] Connexion automatique Freewifi (problème de formulaire)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Whaouu
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 13 févr. 2009 15:54
Status : Hors ligne

[..] Connexion automatique Freewifi (problème de formulaire)

#1

Message par Whaouu »

Bonjour à tous,

J'utilise depuis longtemps un script de remplissage automatique du formulaire d'authentification sur Freewifi. Depuis quelque temps cela ne fonctionne plus.

J'ai un problème de la validation du formulaire qui ne s'exécute plus.

Version très épurée du scripte :

Code : Tout sélectionner

#include <IE.au3>

$oIE = _IECreate("https://wifi.free.fr")
$oForms = _IEFormGetCollection($oIE, 0)

$oLogin = _IEFormElementGetObjByName($oForms, "login")
$oPassword = _IEFormElementGetObjByName($oForms, "password")
$oValider = _IEFormElementGetObjByName($oForms, "submit")

_IEFormElementSetValue($oLogin, "Login")
_IEFormElementSetValue($oPassword, "Password")

_IEAction($oValider, "click")

_IELoadWait($oIE)
J'ai essayé aussi :

Code : Tout sélectionner

#include <IE.au3>

$oIE = _IECreate("https://wifi.free.fr")

$hwnd = _IEPropertyGet($oIE, "hwnd")

$oForms = _IEFormGetCollection($oIE, 0)

$oLogin = _IEFormElementGetObjByName($oForms, "login")
$oPassword = _IEFormElementGetObjByName($oForms, "password")
$oValider = _IEFormElementGetObjByName($oForms, "submit")

_IEFormElementSetValue($oLogin, "Login")
_IEFormElementSetValue($oPassword, "Password")

_IEAction ($oValider, "focus")
ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
 
Sans plus de succès.

Voilà, si un de vous à une autre idée, je suis preneur.

Merci par avance.
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [..] Connexion automatique Freewifi (problème de formula

#2

Message par lesolutionneur »

Bonjour,

Avez-vous essayé ce logiciel fait en AutoIt ?
http://www.freewifimanager.fr/
Whaouu
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 13 févr. 2009 15:54
Status : Hors ligne

Re: [..] Connexion automatique Freewifi (problème de formula

#3

Message par Whaouu »

Bonjour, Lesolutionneur,

Merci pour votre proposition de solution.

Cela ne fonctionnera pas avec FreeWifiManager (j'en suis l'auteur) car c'est justement ces méthodes utilisées actuellement pour le remplissage du formulaire FreeWifi.

D'ailleurs j'ai rencontré le même problème avec le formulaire de Bouygues Telecom.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Connexion automatique Freewifi (problème de formula

#4

Message par jguinch »

Salut.
Est-ce que tu as regardé du côté de _IEFormSubmit() ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Whaouu
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 13 févr. 2009 15:54
Status : Hors ligne

Re: [..] Connexion automatique Freewifi (problème de formula

#5

Message par Whaouu »

jguinch a écrit :Salut.
Est-ce que tu as regardé du côté de _IEFormSubmit() ?
De mémoire (j'ai fait pas mal de tests) ça ne fonctionne pas non plus.
Avatar du membre
cbourree
Niveau 5
Niveau 5
Messages : 104
Enregistré le : sam. 05 févr. 2011 18:07
Localisation : Lyon
Status : Hors ligne

Re: [..] Connexion automatique Freewifi (problème de formula

#6

Message par cbourree »

Bonjour, ça ma donnée envie de faire le mien ;)
ça marche parfaitement chez moi :

Code : Tout sélectionner

#include <IE.au3>
#include <String.au3>

Sleep(3000)

$control = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
If $control = "" Then 
   RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", @ScriptFullPath)
   $control = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
   If $control = "" Then MsgBox(16, "Erreur", "La valeur" & @CRLF & @ScriptName & @CRLF & "n'a pas été créée dans le registre")
EndIf
While 1   
   Local $sHTML = BinaryToString(InetRead("https://wifi.free.fr"))
   Local $co = _StringBetween($sHTML, "<h1>", "</h1>")
   If IsArray($co) Then
      $oIE = _IECreate("https://wifi.free.fr")
      $hwnd = _IEPropertyGet($oIE, "hwnd")

      $oForms = _IEFormGetCollection($oIE, 0)

      $oLogin = _IEFormElementGetObjByName($oForms, "login")
      $oPassword = _IEFormElementGetObjByName($oForms, "password")
      $oValider = _IEFormElementGetObjByName($oForms, "submit")

      _IEFormElementSetValue($oLogin, "3956011846")
      _IEFormElementSetValue($oPassword, "xD")
      _IEAction($oValider, "click")
      While WinGetTitle("[active]") <> "FreeWifi - Windows Internet Explorer"
         Sleep(500)
      WEnd    
      Local $sHTML = _IEBodyReadHTML($oIE)
      Local $co_reu = _StringBetween($sHTML,'<h1 class="red">',"</h1>")
      _IEQuit($oIE)
      If IsArray($co_reu) And $co_reu[0] = "CONNEXION AU SERVICE REUSSIE" Then
         TrayTip("Connexion réussi", "FreeWifi Power !!", 3)
         Sleep(4000)
      Else
         TrayTip("Erreur de connexion", "Mon prog n'a pas réussi à te connecter à Freewifi", 4)
         Sleep(5000)
      EndIf
      
      ExitLoop
   EndIf
   Sleep(3000)
WEnd
 
Mais ça ne marche pas chez ma mamie, donc svp pouvez vous me dire si ça fonctionne chez vous ?

Mercid d'avance ...
Répondre