Automatiser la complétion de formulaire
Geoli75 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Nous allons avoir plus d'une centaine de fiches à créer, et nous cherchons un moyen d'automatiser cela assez facilement.
Les fiches se créent en complétant un formulaire (clics sur des images et deux complétions de champs textes, toujours les mêmes) qui prend plusieurs pages internet pour arriver à un enregistrement. Au total, il y a 4 pages.
J'ai pas mal cherché des enregistreurs de clics mais aucun n'est probant :
- soit les clics sont bien enregistrés mais il y a toujours un décalage entre ce qu'on enregistre à l'écran et le moment où on lance l'automatisme, même si on replace le pointeur au bon endroit avant de lancer le clic auto.
- soit cela prend en compte les clics dans le formulaire mais que sur la première page. L'enregistrement s'arrête au clic "Envoyer" qui amène a la page suivante.
- soit que c'est limité à deux clics....
Existe t-il un bon logiciel qui enregistre les entrées souris / clavier pour les reporter en boucle ou un script Tampermonkey sur Firefox / Chrome pour une autocomplétion de formulaire ?
- Dans la présentation à télécharger, sarah avait encadré directement le titre de certaines diapositives avant d’automatiser cette mise en forme pour tout le document. sur quelles diapositives avait-elle encadré directement le titre ?
- Site de telechargement direct - Accueil - Outils
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? - Guide
- Mise en forme conditionnelle excel - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Vue satellite en direct gratuit de ma maison - Guide
5 réponses
Bonjour,
Vous pourriez peut-être utiliser iMacros. C'est une extension pour Firefox et Chrome qui permet d'enregistrer et de rejouer des interactions avec des pages web. Vous pouvez enregistrer une séquence sur plusieurs pages, et l'extension rejouera cette séquence automatiquement.
Sinon, l'idéal serait d'utiliser l'extension Tampermonkey. Cela permet d'injecter des scripts JavaScript personnalisés directement dans les pages web. Vous pouvez créer un script pour chaque page du formulaire et automatiser les clics et la saisie des champs. Une fois le script configuré, Tampermonkey lancera l'autocomplétion à chaque fois que la page est chargée.
Le début du code pourrait être :
// Pour une page où il faut remplir un champ et cliquer sur un bouton document.querySelector('input[name="nomChamp"]').value = "Valeur"; document.querySelector('button[name="submit"]').click();
Vous devrez adapter le script à chaque page du formulaire en fonction des éléments HTML spécifiques.
Merci pour la réponse,
J'ai déjà essayé iMacros, mais cela ne fonctionne pas plus loin que la première page. L'enregistrement s'arrête quand le navigateur charge la page suivante :/
Côté Tampermonkey, même si je connais un peu l'extension, je n'ai pas assez de connaissances pour gérer un script comme ça. Je testerai quand même
Bonjour,
Je pense que Tampermonkey serait plus adapté. Je vous donne un exemple de code pour Tampermonkey pour une page :
// ==UserScript== // @name Automatisation Formulaire // @namespace http://tampermonkey.net/ // @version 1.0 // @description Remplir automatiquement un formulaire sur plusieurs pages // @author Vous // @match *://url-de-la-page-1/* // @match *://url-de-la-page-2/* // @match *://url-de-la-page-3/* // @match *://url-de-la-page-4/* // @grant none // ==/UserScript== (function() { 'use strict'; // Détecter quelle page est active pour exécuter les actions correspondantes if (window.location.href.includes("url-de-la-page-1")) { document.querySelector('input[name="champ1"]').value = "Valeur1"; document.querySelector('button[name="submit"]').click(); } else if (window.location.href.includes("url-de-la-page-2")) { document.querySelector('input[name="champ2"]').value = "Valeur2"; document.querySelector('button[name="submit"]').click(); } else if (window.location.href.includes("url-de-la-page-3")) { document.querySelector('input[name="champ3"]').value = "Valeur3"; document.querySelector('button[name="submit"]').click(); } else if (window.location.href.includes("url-de-la-page-4")) { document.querySelector('input[name="champ4"]').value = "Valeur4"; document.querySelector('button[name="submit"]').click(); } })();
Remplacez url-de-la-page avec les URLs exactes des pages du formulaire.
Adaptez les sélecteurs (par exemple input[name="champ1"]) en fonction des éléments HTML spécifiques de chaque page.
Le script se déclenchera automatiquement lorsqu'une des pages spécifiées sera chargée.
Merci de la réponse,
J'ai encore testé avec iMacros, il ne détecte pas le changement de page ni certaines entrées du formulaire.
Celui-ci comporte des balises <ul><li> pour certains "boutons" affichés sous forme d'images. au clic, la balise <li> obtient la classe active.
Par exemple, <li>
<button type="button" id="Traditional" data-cache-type="Traditional"><img src="/images/types/2.gif" alt="" aria-hidden="true">Général</button></li>
Un clic sur l'image et la balise <li> est active.
La solution d'un userscript Tampermonkey (j'ai pris le temps d'un peu voir comment cela fonctionnait de base) ne semble pas aller :/
Je pense qu'ils ont créé ce formulaire avec des balises à activer d'un clic (sélection du type d'enregistrement) pour justement éviter les macros :/
Je me réponds car je pense que le délai d'édition est dépassé.
J'ai testé le script Automatisation Formulaire. Il est bien actif.
J'ai modifié les différents input disponibles, mais cela ne complète rien.
Exemple :
if (window.location.href.includes("https://www.*****.com/forms/typechoice.aspx")) {
document.querySelector('input[name="ctl00$ContentBody$typelong"]').value = "typelongtest";
document.querySelector('input[name="ctl00$ContentBody$typecourt"]').value = "typecrttst";
ou même le simple bouton click() sur submit avec le bon nom du bouton de la page 2 ne passe pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionAprès plusieurs tests, sur deux PC différents, j'y suis arrivé.
Le dernier script iMacros ne fonctionnait pas, et après lecture des logs, j'ai vu un souci dans les URL, retrait des URL GOTO, cela ne fonctionnait pas encore.
J'ai relancé le même script aujourd'hui, et miracle (?), cela fonctionne.
Je vois qu'iMacros risque d'être désactivé des extensions Google Chrome, si quelqu'un a le même système pour Firefox ou autre navigateur, au cas où...
Ou une solution pour tampermonkey...
Merci :)