NOUVEAU Version 2.0 : le Mode Jeu et Heliot, votre assistant IA, sont là Découvrir

Faire attendre une macro jusqu'au chargement de la page, sans pauses fixes

Les pauses fixes rendent vos macros lentes ou fragiles. Comment attendre qu'un élément apparaisse plutôt qu'un temps fixe, et comment le faire dans Macro Quantic Pro.

6 minutes de lecture

Un portail web en train de générer un rapport pendant que Macro Quantic Pro prépare un robot OCR pour attendre la fin.

Votre macro fonctionne quand le site est rapide et échoue quand il est lent. Ou l'inverse : vous avez ajouté de longues pauses pour éviter les échecs et maintenant elle prend une éternité. Faire en sorte qu'une macro attende le chargement de la page sans dépendre de pauses fixes, c'est la différence entre une automatisation fragile et une automatisation fiable. Dans cet article, vous verrez pourquoi les pauses fixes posent problème, quelle est l'alternative et comment l'appliquer dès aujourd'hui dans Macro Quantic Pro.

Le problème des pauses fixes

Une pause fixe dit à la macro : « attends 3 secondes et continue ». Le problème, c'est que le site ne met pas toujours le même temps à charger.

  • Si la pause est courte, la macro clique avant que la page ait fini de charger. Le clic tombe dans le vide ou sur un autre élément, et tout ce qui suit échoue.
  • Si la pause est longue, la macro vise juste, mais elle perd du temps à chaque répétition. Et ce temps s'accumule.

Sur le forum de Keyboard Maestro, un utilisateur décrivait exactement ce dilemme. Il devait parcourir plus de 10 pages web : avec une demi-seconde d'attente, la macro échouait, et avec des attentes d'une seconde ou plus, tout le processus devenait trop lent, surtout quand chaque page demandait plusieurs clics et plusieurs attentes.

L'idée : attendre une condition, pas une durée

L'alternative consiste à changer la question. Au lieu de « combien de temps j'attends ? », la macro devrait se demander « ce dont j'ai besoin est-il prêt ? ».

Attendre une condition signifie que la macro ne continue pas tant que quelque chose de précis n'existe pas à l'écran :

  • Un bouton, comme « Télécharger » ou « Suivant ».
  • Un champ de formulaire.
  • Un texte, comme « Rapport prêt » ou « Paiement effectué ».

Si la page se charge en une demi-seconde, la macro continue au bout d'une demi-seconde. Si elle met dix secondes, elle attend dix secondes. C'est ce que recommandait le forum cité : attendre qu'un élément précis de la page existe plutôt que d'utiliser des délais arbitraires.

Comment le faire dans Macro Quantic Pro

Autant être clair dès le départ. Macro Quantic Pro prépare un mode Web avec navigateur intégré, qui trouvera chaque champ d'après ce qu'il est et attendra le chargement de la page. Aujourd'hui, ce mode apparaît dans le programme comme Bientôt disponible : il n'est pas encore disponible.

En attendant, deux outils sont déjà utilisables pour que votre macro attende ce qui compte.

1. Le Mode intelligent, pour les boutons qui mettent un peu de temps

Le Mode intelligent garde une petite image de ce sur quoi vous cliquez pendant l'enregistrement. À la lecture, si le bouton n'est pas encore là où il devrait être, il le cherche de nouveau pendant un bref instant avant de cliquer.

C'est utile pour les petits retards : un menu déroulant qui met un moment à s'ouvrir, une liste qui se remplit après la saisie ou un bouton qui apparaît un instant plus tard. Pour des attentes de plusieurs secondes, cela ne suffit pas, car il ne réessaie que pendant un court instant. Le Mode intelligent est disponible pendant l'essai gratuit et dans les forfaits Starter, Pro et Enterprise, mais pas en Free.

L'un des cas couverts par le Mode intelligent : si le bouton tarde à apparaître, la macro l'attend un instant et clique dessus dès qu'il est là.

2. Les robots OCR, pour attendre un texte

Un robot OCR surveille une zone de l'écran et lit son texte. Quand la condition que vous choisissez est remplie, par exemple « Le texte apparaît », il lance une macro. La reconnaissance se fait sur votre propre PC.

C'est la façon d'attendre une condition sans limite de secondes. L'idée est de répartir le travail entre deux macros :

  1. Une macro fait la première partie : se connecter, remplir et cliquer sur le bouton qui lance le chargement.
  2. Un robot surveille la zone où apparaîtra l'avertissement, par exemple « Rapport prêt ».
  3. Quand le robot lit ce texte, il lance la seconde macro, qui fait le reste.
Un robot OCR surveille une zone de l'écran et, dès qu'il lit « Commande prête », lance la macro « Envoyer la facture ».

Créer le robot se fait en trois étapes : sélectionner la zone de l'écran, confirmer le texte que le programme y détecte et configurer la condition, la macro et la fréquence de vérification. Le texte n'a pas besoin de correspondre lettre pour lettre : il suffit qu'il soit contenu dans ce qui est lu, sans tenir compte des majuscules ni des accents.

Bonnes pratiques

Attendre une condition est plus fiable, mais pas infaillible. Ces conseils vous éviteront des surprises :

  • Fixez une durée d'attente maximale. Si la condition n'arrive jamais, l'automatisation ne doit pas rester bloquée. Dans les robots OCR, vous pouvez définir une durée maximale en minutes et un nombre maximal de déclenchements.
  • Prévoyez un plan B. Décidez de ce qui se passe en cas d'échec. Un robot peut s'arrêter si la macro renvoie une erreur, ou vous alerter avec une alarme au lieu de lancer une macro.
  • Testez avec une connexion lente. Une macro testée uniquement avec une bonne connexion peut échouer le jour où le site est lent.
  • Évitez de dépendre de textes qui changent. Si l'avertissement indique « Encore 3 minutes » puis « Encore 2 minutes », choisissez une autre partie du message qui reste stable.
  • N'oubliez pas que tous les sites ne se laissent pas automatiser. Certains le limitent ou l'interdisent dans leurs conditions d'utilisation. Respectez-les.

Exemple pas à pas

Il s'agit d'un cas illustratif, pas d'un exemple tiré d'un vrai site. Imaginez que chaque matin vous vous connectez à un portail et téléchargez un rapport qui met un moment à être généré.

  1. Enregistrez la macro « Demander le rapport ». Ouvrez le portail dans votre navigateur, cliquez sur « Générer le rapport » et arrêtez l'enregistrement.
  2. Enregistrez la macro « Télécharger le rapport ». Une fois le rapport généré, cliquez sur « Télécharger » et enregistrez le fichier.
  3. Créez un robot OCR. Sélectionnez la zone où le portail affiche l'avertissement, confirmez le texte « Rapport prêt » et choisissez la condition « Le texte apparaît ».
  4. Associez la macro « Télécharger le rapport » au robot et fixez-lui des limites : par exemple une durée maximale de 15 minutes et un seul déclenchement.
  5. Démarrez le robot et lancez « Demander le rapport ». Dès que « Rapport prêt » apparaît, le robot lance le téléchargement pour vous, quel que soit le temps que met le portail.

Ainsi, la macro n'attend jamais trop ni trop peu : elle attend exactement le temps que met le rapport.

Automatisez sans pauses fixes

Si vous voulez essayer cette approche, vous pouvez télécharger Macro Quantic Pro gratuitement depuis le Microsoft Store. La documentation des robots OCR explique chaque option, et la page de l'enregistreur de macros résume comment il enregistre et rejoue.

Questions fréquentes

Comment faire attendre une macro jusqu'au chargement d'une page ?

Faites-la attendre une condition et non un temps fixe. Dans Macro Quantic Pro, la méthode la plus fiable aujourd'hui est un robot OCR qui surveille un texte de la page et lance la macro suivante quand il apparaît.

Qu'est-ce qui est le mieux : une pause fixe ou attendre un élément ?

Attendre un élément. Une pause fixe est toujours trop courte ou trop longue à un moment ou à un autre. Attendre un élément s'adapte au temps que met la page à chaque fois.

Que se passe-t-il si l'élément n'apparaît jamais ?

Cela dépend des limites que vous fixez. Un robot OCR avec une durée maximale s'arrête quand il l'atteint, sans lancer la macro. Si vous le laissez sans limites, il continue de surveiller jusqu'à ce que vous l'arrêtiez.

Puis-je utiliser cela avec des programmes de bureau ?

Oui. Les robots OCR lisent n'importe quelle zone de l'écran, qu'il s'agisse d'un site web ou d'un programme de bureau. Le Mode intelligent fonctionne aussi avec les programmes de bureau.

Sources