Page 1 sur 1

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

Posté : mer. 12 juin 2013 16:09
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.

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

Posté : mer. 12 juin 2013 18:30
par lesolutionneur
Bonjour,

Avez-vous essayé ce logiciel fait en AutoIt ?
http://www.freewifimanager.fr/

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

Posté : ven. 14 juin 2013 09:39
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.

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

Posté : ven. 14 juin 2013 11:05
par jguinch
Salut.
Est-ce que tu as regardé du côté de _IEFormSubmit() ?

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

Posté : ven. 14 juin 2013 14:04
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.

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

Posté : ven. 14 juin 2013 14:23
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 ...