Automatiser la complétion de formulaire
Geoli75 Messages postés 5 Date d'inscription vendredi 11 octobre 2024 Statut Membre Dernière intervention 2 novembre 2024 - 2 nov. 2024 à 16:42
- 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 ?
- Vue satellite en direct gratuit de ma maison - Guide
- Mise en forme conditionnelle excel - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Site de telechargement direct - Accueil - Outils
- Je cherche une chanson dont je ne connais pas le titre - Guide
5 réponses
12 oct. 2024 à 19:23
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.
16 oct. 2024 à 11:38
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
16 oct. 2024 à 15:34
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.
Modifié le 31 oct. 2024 à 21:55
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 :/
31 oct. 2024 à 23:27
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 question2 nov. 2024 à 16:42
Aprè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 :)