[..] Un script pour Remplissage auto de formulaires ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

[..] Un script pour Remplissage auto de formulaires ?

#1

Message par lianavan »

Bonjour,

Je cherche le moyen de remplir automatiquement des formulaires, comme ceci :

site (www.1.com), remplir la case du formulaire (x) avec la donnée (xxx), valider (touche entrer ou clic sur bouton valider).
site (www.2.com), remplir la case du formulaire (x) avec la donnée (xxx), valider (touche entrer ou clic sur bouton valider).
site (www.3.com), remplir la case du formulaire (x) avec la donnée (xxx), valider (touche entrer ou clic sur bouton valider).
...ainsi de suite...

Je vais immédiatement lire les tutoriels, je vous demande préalablement s'il existe déjà un script permettant de faire ceci.

Merci.
Avatar du membre
BlueCore
Niveau 4
Niveau 4
Messages : 73
Enregistré le : sam. 04 sept. 2010 09:55
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#2

Message par BlueCore »

Salut lianavant.

Premièrement, tu peut utiliser "Simulati On" de Timmalos pour enregistrer des macros et les réutiliser.

Où, à l'aide de IEBuilder 2 (autoitscript.com) pour connaitre de façon détaillée la page ainsi que les noms des forms à remplir.
Tu utiliseras principalement l'aide ainsi que les fonctions _IEForm

- BlueCore
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#3

Message par lianavan »

Merci pour ta réponse !

J'ai du écarter la solution macro, car je dois ajouter beaucoup de cas (de nombreux sites). J'ai besoin de quelque chose que je puisse copier coller, puis modifier les parties qui changent, site, ID de la case du formulaire...

Je n'ai pas bien compris la fonction de IEBuilder 2, sert-il uniquement à connaitre le noms des forms à remplir ?

J'avoue être un peu perdu, même après avoir (maintenant) lu une grande partie de la documentation et des tutoriels.
Avatar du membre
BlueCore
Niveau 4
Niveau 4
Messages : 73
Enregistré le : sam. 04 sept. 2010 09:55
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#4

Message par BlueCore »

IEBuilder sert effectivement à trouver le nom des forms et autres contrôles de la page beaucoup plus facilement.

Avec le code suivant + IEBuilder, tu comprendras vite.

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IECreate ("www.google.fr")
$oForm = _IEFormGetObjByName ($oIE, "f") ;récupère la "form" de la page nommée "f"
$oQuery = _IEFormElementGetObjByName ($oForm, "q") ;récupère 'l'input" de la page nommée "q"
_IEFormElementSetValue ($oQuery, "BlueCore") ;Inscrit BlueCore dans "l'input" "q".
_IEFormSubmit ($oForm) ;Valide
- BlueCore
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#5

Message par lianavan »

Une solution tout faite 8)

C'est génial merci (test en cours) !
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#6

Message par lianavan »

Cela marche très bien :)

Mais comment as-tu fait pour savoir que le nom du form était "f" ? D'après IEBuilder son nom c'est "form 0". Mais j'arrive à avoir son bon nom avec la dev toolbar de FF.

Y a t'il un moyen pour qu'en dupliquant ce code, il reste sur la même fenêtre IE (au lieu d'en ouvrir une autre) ?

Encore merci :)
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#7

Message par lianavan »

Je m'y remet doucement, j'ai également beaucoup de travail... :(

Néanmoins j'avance :)

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IECreate ("www.google.fr")
$oForm = _IEFormGetObjByName ($oIE, "f") ;
$oQuery = _IEFormElementGetObjByName ($oForm, "q") ;
_IEFormElementSetValue ($oQuery, "BlueCore") ;
_IEFormSubmit ($oForm) ;
_IEQuit ($oIE);

$oIE = _IECreate ("www.google.fr")
$oForm = _IEFormGetObjByName ($oIE, "f") ;
$oQuery = _IEFormElementGetObjByName ($oForm, "q") ;
_IEFormElementSetValue ($oQuery, "BlueCore2") ;
_IEFormSubmit ($oForm) ;
_IEQuit ($oIE);
J'ai trouvé la fonction _IEQuit qui remplace l'utilisation d'une seule fenêtre que je voulais faire.

Edit : trouvé ceci !
$oIE = _IECreate ()
_IENavigate ($oIE, "http:\\www.google.com")
Encore mieux.

Par contre je me pose une question dont la réponse ne se trouve pas dans les tutoriels (pas pour IE) : ne faut il pas rajouter la fonction :

Code : Tout sélectionner

_IELoadWait($oIE);
?
Peut être n'est ce pas nécessaire ?

Merci !
Modifié en dernier par lianavan le mar. 14 sept. 2010 16:33, modifié 1 fois.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#8

Message par lianavan »

Je n'arrive décidément pas à résoudre un problème...

Code : Tout sélectionner

$oForm = _IEFormGetObjByName ($oIE, "authenticity_token") ;
authenticity_token c'est bel et bien le nom du form, alors pourquoi cela ne marche t'il pas ?
<input name="authenticity_token"
Avatar du membre
BlueCore
Niveau 4
Niveau 4
Messages : 73
Enregistré le : sam. 04 sept. 2010 09:55
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#9

Message par BlueCore »

Non lianavan.
"authencity_token" est un "Element"

- BlueCore
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#10

Message par lianavan »

Mais alors, comment trouver l'ID ?

edit : il faut faire de la magie pour le trouver ? Il n'y a pas cette information dans le code source !
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#11

Message par lianavan »

C'est passionnant AutoIT, ça a l'air très simple et très pratique, entre le macro et le php, mais je découvre rarement des trucs intéressants pour ce que je veux faire, en faisant des recherches. A part des barres de chargement pour faire plus classe, ou des astuces comme la MsgBox pour intéractiviser le script.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#12

Message par lianavan »

Je me retrouve dans un cas où

Code : Tout sélectionner

_IEFormSubmit ($oForm)
Ne fonctionne pas... Et je n'arrive pas à savoir pourquoi...

Impossible de valider le formulaire !

J'ai essayé sur d'autres formulaires qui n'avaient rien à voir avec ce que je voulais faire :
► Afficher le texte
Toujours pareil, ça remplis les champs, mais ça ne valide pas le formulaire.
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#13

Message par lianavan »

Je suis sur que _IEFormSubmit ($oForm) a été inventé par un vendeur de cadavre ><
lianavan
Niveau 3
Niveau 3
Messages : 37
Enregistré le : ven. 10 sept. 2010 20:44
Status : Hors ligne

Re: [..] Un script pour Remplissage auto de formulaires ?

#14

Message par lianavan »

:lol: J'ai trouvé !!!

En fait non, j'ai passé des heures à chercher, j'ai envie de chialer des glaires bien visqueux. Le pire c'est que y'a rien à chercher, je tombe toujours sur les même posts, les même exemples, pfff tout est pareil et cela ne fonctionne toujours pas...
Répondre