3 votes

Comment puis-je automatiser des clics de souris répétés, avec un délai, à partir de coordonnées fixes dans une fenêtre de navigateur?

À la recherche d'un moyen rapide et sale d'automatiser cette activité banale. Je présume que cela pourrait être fait avec une automatisation pour appuyer sur le bouton de la souris à partir de deux coordonnées de pixels séparées, avec un délai, tant que la fenêtre du navigateur ne bouge pas - à moins qu'il y ait une meilleure façon.

J'ai essayé de créer un flux de travail Watch Me Do, dans Automator, mais je n'arrive pas à le faire fonctionner. Je reçois l'erreur "l'application Chrome ne fonctionne pas quand elle est censée le faire." Il ne liste également jamais les clics de souris pour une raison quelconque.

J'ai configuré l'accessibilité, dans les préférences système > sécurité et confidentialité > confidentialité. Automator, Chrome et Événements système sont tous cochés à l'intérieur (parmi d'autres choses bien sûr).

J'ai essayé le contournement de markashworth tel que détaillé ici - qui ne semble pas non plus fonctionner. En utilisant sa méthode, j'obtiens cette erreur :

entrer la description de l'image ici

MISE À JOUR : Je viens de télécharger "cliclick" et j'ai trouvé comment effectuer les deux clics en tant que commande terminal, avec les délais appropriés. MAIS - je ne connais pas le code et j'ai besoin d'un moyen pour que cette commande terminal se répète "x" fois. Quelqu'un sait comment je pourrais faire cela dans l'Éditeur de script ? La ligne de commande est :

cliclick c:132,286 w:100 c:132,286 w:5000 c:1100,238

J'aurais besoin de quelques secondes de délai avant que la boucle ne se répète, ce que je pourrais faire avec un dernier "w:" dans cette ligne. Merci pour l'aide !!

3voto

Ryan Points 125

Les étapes suivantes sont une solution pour automatiser le clic répété d'une souris, d'avant en arrière, à deux positions fixes différentes à l'intérieur d'une page web - c'est-à-dire clic sur deux boutons ou liens dans une page web, avec un délai défini par l'utilisateur entre chaque clic.

Tout ce qu'il s'agit de faire, c'est une légère modification de ce qui a été décrit dans ce fil - celui-ci pour deux "boutons" de site web au lieu d'un seul.

IMPORTANT - cette automatisation ne fonctionne PAS en arrière-plan. En d'autres termes, vous ne pouvez pas faire autre chose sur votre ordinateur en même temps que cette automatisation est en cours d'exécution. De plus, votre navigateur ne peut pas changer de position physique sur votre écran une fois que l'automatisation a commencé, car vous demandez littéralement à l'ordinateur d'appuyer sur deux boutons aux coordonnées de pixels X,Y fixes. Les "boutons" sur la page web doivent donc rester aux mêmes emplacements sur votre écran pour que cela fonctionne.

Les étapes sont les suivantes:

  1. Cliquez sur l'icône Apple (en haut à gauche), sélectionnez "Préférences Système". Tapez "sécurité" dans la fenêtre de recherche en haut à droite. Cela devrait mettre en surbrillance Sécurité & Confidentialité. Ouvrez cela.
  2. Cliquez sur l'icône de verrouillage, saisissez votre mot de passe, cliquez sur Déverrouiller.
  3. Cliquez sur Accessibilité dans la liste déroulante (icône bleue). Cliquez maintenant sur le signe plus en dessous de la boîte à droite. Puis naviguez jusqu'à Applications et faites défiler jusqu'à Utilitaires. De là, cochez les cases Terminal ET Éditeur de scripts. Sélectionnez enfin le navigateur web que vous utilisez sous la liste des Applications. Vous pouvez ensuite fermer cette fenêtre.
  4. Lancez Terminal. (Je le fais en tapant "Terminal" dans une recherche Spotlight (l'icône loupe en haut à droite de l'écran)).
  5. Retenez (en général) à quoi ressemble cette ligne la plus basse quand Terminal s'ouvre. Vous voulez que Terminal revienne à ce qu'il était après chacun des deux téléchargements courts qui se produiront dans Terminal - tous les deux sont à l'épreuve des idiots.
  6. Premier téléchargement - Home Brew. Aussi étrange que cela puisse paraître, tout ce que vous avez à faire pour télécharger ce "programme" est de copier la seule ligne de texte que vous voyez ci-dessous "Installer Home Brew" sur son site web. Collez ce texte dans Terminal, appuyez sur Entrée et attendez que le processus se termine. Lorsque la ligne inférieure dans Terminal apparaît comme au tout début, c'est fini.
  7. Deuxième téléchargement - CliClick (deuxième téléchargement). Tapez simplement ces trois mots dans Terminal, puis appuyez sur Entrée:
    brew install cliclick
    (note: il m'a semblé que CliClick a mis environ 90 secondes à s'installer)
  8. Une fois le téléchargement terminé, vous pouvez réduire Terminal - car vous en avez maintenant fini avec. Fermez-le entièrement si vous êtes sûr que cliclick a été téléchargé.
  9. Ensuite, déterminez simplement les coordonnées de pixels X,Y pour les deux "boutons" du site web sur lesquels vous voulez que le robot clique. Avant de faire cela, je recommande de placer la fenêtre du navigateur sur votre écran de manière à ce que son coin supérieur gauche touche le coin supérieur gauche de votre écran. Pour déterminer les coordonnées, appuyez simplement sur COMMAND+SHIFT+4 et notez les deux ensembles de nombres au-dessus de chaque "bouton" sur lesquels vous survolez. Les chiffres du haut sont les coordonnées X et ceux du bas sont donc Y. Vous aurez donc deux paires de nombres pour chaque bouton, évidemment. Notez-les quelque part, puis appuyez sur Échap pour désactiver les croix.
  10. Lancez Éditeur de scripts. Comme avec Terminal, je le fais en tapant "éditeur de scripts" dans une recherche Spotlight
  11. Maintenant, copiez et collez TOUT le texte suivant dans l'Éditeur de scripts. Il doit apparaître exactement comme ci-dessous, y compris les indentations, etc:

    dire à l'application "Google Chrome" activer répéter 208 fois faire script shell "/usr/local/bin/cliclick c:" & "132,286" délai 3.5 faire script shell "/usr/local/bin/cliclick c:" & "1100,230" délai 4.5 fin répéter end tell

Vous êtes pratiquement libre maintenant! Il vous suffit de remplacer le premier ensemble de chiffres séparés par des virgules par les coordonnées de votre premier bouton de site web au format X,Y. Laissez les guillemets tels qu'ils sont. Répétez cela pour votre deuxième bouton et changez les délais comme vous le souhaitez, qui sont en secondes.

Enfin, définissez la valeur de répétition sur le nombre de boucles que vous souhaitez exécuter et enregistrez le script. Voilà! Appuyer sur "lecture" dans Éditeur de scripts lancera le processus. Vous pouvez l'arrêter en récupérant simplement votre curseur et en cliquant sur le bouton "arrêter", ce que j'ai fait plusieurs fois pour modifier les délais en fonction de la vitesse Internet et de la vitesse du serveur.

2voto

moodforaday Points 2633

Il existe un beaucoup moyen plus facile de le faire sur Mac: Keyboard Maestro.

Malgré le nom, il automatise également la souris en plus du clavier.

Il vous permet d'utiliser des outils GUI pour configurer les clics (tout ce que vous avez à faire est de lui dire de surveiller où vous cliquez, puis de cliquer, et il fera le calcul pour vous).

Il vous permettra de définir un délai spécifique entre les clics.

Il dispose également d'outils intégrés pour cliquer sur des liens dans Safari et Chrome, ce qui peut également aider.

Il vous permettra également d'utiliser AppleScript ou JavaScript (ou tout autre langage) dans le cadre de la macro.

Toutes les actions se font par glisser-déposer.

Il y a un forum très actif où de nombreux utilisateurs serviables se retrouvent (ainsi que le développeur du programme).

Il existe environ 1 000 autres choses que vous pouvez faire avec Keyboard Maestro aussi. Une fois que vous commencez à l'utiliser, vous vous rendrez compte de toutes les façons dont il peut vous aider.

(Pour être clair, je n'ai absolument aucun lien avec l'application, à part d'être un utilisateur extrêmement reconnaissant depuis plusieurs années. Je paye mes propres mises à jour dès qu'une nouvelle version sort car c'est l'utilitaire le plus utile sur Mac.)

1voto

John Skinner Points 11

Je suis tellement content(e) que vous ayez résolu votre script!

Je voulais juste mentionner que vous pouvez également utiliser Selenium pour le faire pour vous. https://www.seleniumhq.org/ Selenium est utilisé par les professionnels de l'assurance qualité pour automatiser les tests de sites web, et est conçu pour faire tout ce qu'un utilisateur ferait et plus encore. Voici un article qui décrit comment automatiser les clics de souris avec Selenium... https://www.guru99.com/keyboard-mouse-events-files-webdriver.html Et voici une description pour inclure une attente ou un délai dans un script Selenium... https://stackoverflow.com/questions/20009211/getting-selenium-to-pause-for-x-seconds

J'espère que cela vous aidera.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X