[R] Capter le nom d'un input dans une page web sous IE
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.
[R] Capter le nom d'un input dans une page web sous IE
Bonjour;
Suite à la nouvelle politique de DynDNS, je susi en trian de me faire un script tout simple qui lance IE, se connecte sur le site de DynDNS, rentre mes identifiants et ferme IE.
Je lancerai ce script une fois par mois depuis les taches plannifiés Windows pour ne plus avoir à gérer cela.
Or je bloque sur la récupération de l'inputbox pour rentrer mon identifiant et password.
Pour une fois je ne souhaite pas gérer la position de souris car je me dit que la position des box peux changer si une pub ou un bandeau est ajouté sur le site.
Voici le site en question; https://account.dyn.com/
Il y a deux box à récupérer, celle du login et celle du password (quoi que le password je peux l'avoir avec un coup de tab une fois le login rentré.
J'utilise Autoit Window Info, mais il ne capte pas l'inputbox, il reste fixé sur la page elle-même.
J'ai trouvé deux trois script sur le net, mais chacun me demande de remplir le nom de l'input donc je bloque ou alors sont vieux et ne foncionne plus en l'état.
Quelqu'un pourrait il me filer un coup de pouce là-dessus ?
Merci d'avance.
CortX
Suite à la nouvelle politique de DynDNS, je susi en trian de me faire un script tout simple qui lance IE, se connecte sur le site de DynDNS, rentre mes identifiants et ferme IE.
Je lancerai ce script une fois par mois depuis les taches plannifiés Windows pour ne plus avoir à gérer cela.
Or je bloque sur la récupération de l'inputbox pour rentrer mon identifiant et password.
Pour une fois je ne souhaite pas gérer la position de souris car je me dit que la position des box peux changer si une pub ou un bandeau est ajouté sur le site.
Voici le site en question; https://account.dyn.com/
Il y a deux box à récupérer, celle du login et celle du password (quoi que le password je peux l'avoir avec un coup de tab une fois le login rentré.
J'utilise Autoit Window Info, mais il ne capte pas l'inputbox, il reste fixé sur la page elle-même.
J'ai trouvé deux trois script sur le net, mais chacun me demande de remplir le nom de l'input donc je bloque ou alors sont vieux et ne foncionne plus en l'état.
Quelqu'un pourrait il me filer un coup de pouce là-dessus ?
Merci d'avance.
CortX
-
ani
- Niveau 11

- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..] Capter le nom d'un input dans une page web sous IE
Bien le bonjour cortx,
Autoit Window Info est un outils pour l'interface ()
Pour IE un simple F12 lance l'outils d'analyse page web 'Outils développement'. ou de lire la source de la page vers la ligne 103 y a toute les information pour y remplire la Form de connection.
Comme cette exemple
bonne continuation 
Autoit Window Info est un outils pour l'interface ()
Pour IE un simple F12 lance l'outils d'analyse page web 'Outils développement'. ou de lire la source de la page vers la ligne 103 y a toute les information pour y remplire la Form de connection.
Comme cette exemple
Code : Tout sélectionner
#include <IE.au3>
$User = "test"
$Pass = "1234"
$oIE = _IECreate ("http://account.dyn.com")
$oForm = _IEFormGetCollection ($oIE, 0)
$oUserName = _IEFormElementGetObjByName ($oForm, "username")
$oPassWord = _IEFormElementGetObjByName ($oForm, "password")
_IEFormElementSetValue ($oUserName, $User)
_IEFormElementSetValue ($oPassWord, $Pass)
_IEFormSubmit($oForm)Re: [..] Capter le nom d'un input dans une page web sous IE
BOnjour;
Merci pour l'information;
Ce que je dois récupérer comme information c'est donc frm.elements['password'],
Est ce que frm.elements c'est une constante de nom que je retrouverai sur tous les sites ?
Comment rechercher ce genre d'info sur n'importe quel site sans s'y connaitre un minimum ?
Je suppose que tu ne t'es pas tappé les 110 lignes de code en lecture du soir.
Edit;
Erreur sur
C:\Program Files (x86)\AutoIt3\Include\IE.au3 (1802) : ==> The requested action with this object has failed.:
$o_object.submit()
$o_object.submit()^ ERROR
*
Quant je demande à afficher $oForm via "msgbox (0, "", $oForm)" il n'y à rien de renvoyé.
Merci pour l'information;
Ce que je dois récupérer comme information c'est donc frm.elements['password'],
Est ce que frm.elements c'est une constante de nom que je retrouverai sur tous les sites ?
Comment rechercher ce genre d'info sur n'importe quel site sans s'y connaitre un minimum ?
Je suppose que tu ne t'es pas tappé les 110 lignes de code en lecture du soir.
Edit;
Erreur sur
C:\Program Files (x86)\AutoIt3\Include\IE.au3 (1802) : ==> The requested action with this object has failed.:
$o_object.submit()
$o_object.submit()^ ERROR
*
Quant je demande à afficher $oForm via "msgbox (0, "", $oForm)" il n'y à rien de renvoyé.
-
ani
- Niveau 11

- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..] Capter le nom d'un input dans une page web sous IE
Ce code-ci devrait fonctionne
Pour obtenir les noms des inputs
Non tu ne trouvera pas cette constantes sur tout les sites.
Et non je ne me suis pas tapé le code Source en entier juste survolé, j'aurai du m'y attardé un peu, pour y observer le antisubmit.
Code : Tout sélectionner
#include <IE.au3>
$User = "test"
$Pass = "1234"
$oIE = _IECreate ("http://account.dyn.com")
$oForm = _IEFormGetCollection ($oIE, 0)
$oUserName = _IEFormElementGetObjByName ($oForm, "username")
$oPassWord = _IEFormElementGetObjByName ($oForm, "password")
$oSubmit = _IEFormElementGetObjByName($oForm, "submit")
_IEFormElementSetValue($oUserName, $User)
_IEFormElementSetValue($oPassWord, $Pass)
_IEAction($oSubmit,"click")Code : Tout sélectionner
$oIE = _IECreate ("http://account.dyn.com")
$oForm = _IEFormGetCollection ($oIE,0)
$oInputs = _IETagNameGetCollection($oForm,"input")
ConsoleWrite("Form Info:Name:" & $oForm.name & " - id:"& $oForm.id & " - Action:"& $oForm.action & @LF)
For $oInput In $oInputs
ConsoleWrite("input Info:Name:" & $oInput.name & " - id:"& $oInput.id & " - type:"& $oInput.type & @LF)
Next
ExitEt non je ne me suis pas tapé le code Source en entier juste survolé, j'aurai du m'y attardé un peu, pour y observer le antisubmit.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Capter le nom d'un input dans une page web sous IE
Donc en appliquant la recette de ani ceci devrait marcher
Code : Tout sélectionner
#include <IE.au3>
$User = "test"
$Pass = "1234"
$oIE = _IECreate ("http://account.dyn.com")
$oInputs = _IETagNameGetCollection($oIE,"input")
For $oInput In $oInputs
If $oInput.name == "username" Then $oInput.innertext = $User
If $oInput.name == "password" Then $oInput.innertext = $Pass
If $oInput.name == "submit" Then _IEAction($oInput, "click")
Next
" 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 )
Re: [..] Capter le nom d'un input dans une page web sous IE
Bonjour;
Merci pour vos codes, cela fonctionne à la perfection.
Mikell, dans ton site tu test savoir si l'input à bien la valeur 'username' par exemple pour la remplir.
Mais concrètement cela sert à quoi comparé au remplissage 'en force' comme le fait ani ?
Simplement à ne pas renvoyer d'erreur au cas ou le site change à la mode: "Comme ça n'existe pas, alors je ne fais pas mais ce n'est pas une erreur"
Merci pour vos codes, cela fonctionne à la perfection.
Mikell, dans ton site tu test savoir si l'input à bien la valeur 'username' par exemple pour la remplir.
Mais concrètement cela sert à quoi comparé au remplissage 'en force' comme le fait ani ?
Simplement à ne pas renvoyer d'erreur au cas ou le site change à la mode: "Comme ça n'existe pas, alors je ne fais pas mais ce n'est pas une erreur"
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Capter le nom d'un input dans une page web sous IE
Pas de différence majeure entre les scripts, juste une autre approche dans l'idée du titre du sujet : lister les inputs et vérifier leurs noms
Note que dans le script d'ani tu peux utiliser _IEGetObjByName et zapper la rechercher de form, ça marche aussi
Note que dans le script d'ani tu peux utiliser _IEGetObjByName et zapper la rechercher de form, ça marche aussi
" 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 )
Re: [..] Capter le nom d'un input dans une page web sous IE
Salut.
J'avais trouvé ça sur le forum US, un petit truc sympa qui permet d'avoir quelques infos sur une page.
C'est plus rapide que de fouiner dans le source...
J'avais trouvé ça sur le forum US, un petit truc sympa qui permet d'avoir quelques infos sur une page.
C'est plus rapide que de fouiner dans le source...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !


