Je serai le premier à l'admettre. Ce n'est presque pas – du moins pas spécifiquement – un article Linux. L'objet? Un outil d'automatisation pour Chrome ou Firefox. Mais avant d'appuyer sur le bouton de retour, écoutez-moi. Bien sûr, ce plugin Chrome a commencé comme un outil pour tester automatiquement les pages Web et automatiser les tâches répétitives dans le navigateur. Cependant, il peut étendre ce pouvoir à tous les programmes de votre ordinateur. Donc, en théorie, vous pouvez l'utiliser pour créer graphiquement des macros qui peuvent interagir avec des applications de bureau de manière étonnamment sophistiquée. En théorie, de toute façon; il y a quelques problèmes.

Le programme a plusieurs noms différents. La plupart des documents indiquent UI Vision RPA, bien qu'il y ait quelques références à Kantu, qui semble être un nom plus ancien. RPA est un acronyme pour Robotic Process Automation, qui est un mot à la mode dans l'industrie.

Prenons-le pour un tour et voyons de quoi il s'agit.

Aller plus loin que l'enregistrement macro

J'ai testé avec Chrome, cela fonctionne très bien à la fois sur Windows et Linux (et, probablement MacOS, mais je n'ai pas testé cela). Le mode bureau, cependant, a pris un peu de finagling. J'ai finalement résolu les problèmes – en quelque sorte – et ils peuvent ou non être des rupteurs de transactions, selon votre configuration.

UI Vision RPA est assez intelligent. Si vous venez d'automatiser une page Web, vous pouvez enregistrer une macro. Lorsque vous interagissez avec le navigateur pendant l'enregistrement, le programme peut voir ce que vous faites en surveillant le modèle d'objet de domaine (DOM) dans le navigateur. Ensuite, il est capable de trouver les mêmes choses et de répéter vos actions pendant la lecture.

Il existe de nombreuses façons d'identifier les éléments, notamment par des identificateurs CSS, la mise en correspondance de modèles et, parfois, l'utilisation de la reconnaissance optique de caractères (OCR). C'est l'une des choses les plus excitantes, c'est le couplage à l'OCR. Par exemple, un script peut trouver un symbole boursier sur une page Web, puis utiliser l'OCR pour lire le prix qui se trouve juste à côté en tant que caractères de texte, pas seulement une image.

Vous lui montrez littéralement des images des commandes de menu

Pour contrôler tous les programmes GUI de votre ordinateur, vous devez télécharger et installer certaines extensions du logiciel. Une fois que vous le faites, vous pouvez accéder aux paramètres et activer le mode bureau. Le problème est que l'enregistrement ne fonctionne pas en mode bureau – vous devrez configurer des scripts de manière plus manuelle. Vous pouvez utiliser des commandes comme XClick, XMove, et XType. Le mécanisme de sélection des cibles est maintenant très différent et – s'il fonctionne – vraiment intelligent.

L'interface graphique de script utilise des modules comme celui-ci, un par commande. Il y a un espace sur chaque commande pour une image que vous souhaitez faire correspondre. À côté de cette boîte se trouvent deux boutons: Sélectionner et Rechercher. Lorsque vous appuyez sur Sélectionner, le programme vous donne trois secondes, puis prend une capture d'écran de l'ensemble de votre bureau. Cela apparaît dans un éditeur d'image simple où vous dessinez une boîte autour de ce que vous voulez trouver. Le délai de trois secondes vous permet de dérouler les menus ou d'effectuer toute autre configuration requise. Vous pouvez configurer vos propres images sans utiliser le bouton Sélectionner, mais vous devez déterminer l'emplacement où placer les images et la convention de dénomination des fichiers, ce qui n'est pas très pratique.

Lorsque la macro s'exécute ou lorsque vous appuyez sur le bouton Rechercher, le système prend une autre capture d'écran. Cette fois, il essaie de faire correspondre l'image que vous avez fournie dans la commande, puis effectue le déplacement, le clic ou tape les caractères. Il existe un nombre de confiance que vous pouvez utiliser pour assouplir la distance entre l’image et la recherche. Par défaut, c'est 80% mais vous pouvez le changer globalement dans les paramètres ou en ajoutant un suffixe aux noms de fichiers individuels (comme ffis9y_dpi_120.png@0.5 pour une confiance de 50%).

Lorsque cela fonctionne, cela fonctionne bien. Il existe également une commande pour effectuer des opérations par rapport à l'image de recherche. En d'autres termes, vous pouvez trouver une icône, puis cliquer sur le bouton à côté, par exemple. En plus de créer divers clics et mouvements de souris, le programme peut également simuler des frappes. Vous pouvez voir la vidéo du projet sur l'automatisation des postes de travail ci-dessous.

Un exemple: redimensionner des images dans Gimp

L'une des choses que je fais beaucoup est de redimensionner les images pour qu'elles correspondent à la largeur de 800 pixels des articles Hackaday. J'ai donc décidé de voir si l'automatisation pourrait faire une macro qui ferait cela avec Gimp. En effet, cela peut, sous réserve de certains problèmes que je vais décrire un peu.

Vous pouvez regarder le script de deux manières. La version graphique ressemble à ceci:

Si vous survolez les noms de fichiers cryptés lorsque vous utilisez le programme, vous verrez que la première image est celle du menu Image Gimp. La seconde est l'entrée de menu qui dit "Scale Image" et l'image sur la ligne 4 est une image du bouton Scale.

Voici les images dans l'ordre où elles apparaissent dans le script:



Vous pouvez également regarder le code en JSON:

{
  "Name": "GimpTest", 
  "CreationDate": "2020-5-20", 
  "Commands": (
    {
      "Command": "XClick", 
      "Target": "va5lpm_dpi_96.png", 
      "Value": ""
    }, 
    {
      "Command": "XClick", 
      "Target": "dl8ymh_dpi_96.png", 
      "Value": ""
    }, 
    {
      "Command": "XType", 
      "Target": "800 ${KEY_ENTER} ", 
      "Value": ""
    }, 
    {
      "Command": "XClick", 
      "Target": "odkebe_dpi_96.png", 
      "Value": ""
    }
  )
}

Ce qui ne fonctionne pas et quelques solutions

Le programme rencontre quelques problèmes graves. Premièrement, si vous avez plusieurs moniteurs, cela ne fonctionnera pas. Les auteurs sont conscients du problème, donc ils peuvent avoir un correctif dans les œuvres, je ne suis pas sûr. Cependant, un problème plus grave est qu'il ne semblait pas du tout fonctionner sur deux de mes ordinateurs Linux exécutant KDE Neon. Après une petite interaction avec les développeurs, ils ont décidé que sur certaines versions d'Ubuntu, la fonction de sélection de capture d'écran ne fonctionne pas et m'a suggéré de prendre manuellement des captures d'écran. Cependant, cette partie fonctionne sur mes deux configurations. Ce qui ne fonctionne pas, c'est le modèle de correspondance qu'il fait pour la lecture de macro ou le bouton Rechercher.

Au début, j'étais perplexe. Une fois que j'ai appris qu'il ne fonctionnerait pas avec plusieurs moniteurs, je l'ai fait fonctionner sur Windows, donc je savais que j'utilisais le programme correctement. Mais sur mes box Linux, rien ne fonctionnait. J'ai finalement compris quelque chose. Mon Surface Book et un très grand moniteur sur ma machine de bureau sont tous deux mis à l'échelle. Cela semble être ce qui empêche le programme de fonctionner correctement. La définition de l'échelle à 100% l'a fait fonctionner comme prévu.

Donc, si vous avez un seul moniteur et que vous n'utilisez pas de mise à l'échelle, cela pourrait fonctionner. Mais j'espère que la poursuite du développement élargira ce qui est soutenu. Pour l'instant, il y a beaucoup de difficultés, probablement parce que l'automatisation du bureau n'est pas l'objectif principal du projet. Quelques choses que j'ai trouvées:

  • Le programme d'installation Linux pour les modules complémentaires de bureau, 1install.sh, utilise la syntaxe Bash mais a / bin / sh à l'interpréteur. Certaines distributions Linux mappent / bin / sh à Bash, mais beaucoup ne le font pas. Étant donné que le fichier n'a pas de permission d'exécution de toute façon, vous pouvez simplement le source dans Bash et cela fonctionnera.
  • Le fichier d'installation copie les fichiers de messagerie natifs dans les répertoires de votre navigateur. Cependant, il ne connaît pas les versions bêta de Google sur Chrome. Je devais copier manuellement ~/.config/google-chrome/NativeMessagingHosts (un répertoire) vers ~/.config/google-chrome-beta.
  • Le processus de création d'images sans utiliser l'outil Sélection n'est pas très agréable. Il semble que les fichiers doivent se trouver dans le bon répertoire et suivre la convention de dénomination des fichiers que l'outil produit pour vous.
  • La fonction de recherche ne semble fonctionner que si la macro sur laquelle vous travaillez est sélectionnée dans le volet de gauche (ce qui n'est pas toujours le cas). Parfois, il semble que le bouton ne fait rien et vous devez vous rappeler de sélectionner la macro.

Il y a une autre limitation, bien que ce ne soit pas un bug. Les fonctionnalités OCR – que vous n'avez pas à utiliser – dépendent de serveurs distants. Non seulement certaines personnes s'opposeront à l'envoi de leurs captures d'écran sur un serveur inconnu, mais il y a une limite de 100 conversions par jour. Il existe également une limite sur le nombre de clics de souris et de caractères que vous pouvez avoir dans une seule macro dans la version gratuite. Il y a un moyen de payer pour en avoir plus, et je ne peux pas leur en vouloir, du moins pour l'OCR côté serveur. L'exécution d'un serveur à forte intensité de calcul n'est pas gratuite. Cependant, vous n'avez pas besoin d'utiliser l'OCR, donc cela peut ou non être un problème pour vous, selon ce que vous voulez faire.

La promesse

Sur le plan positif, le système semble être très polyvalent. Vous pouvez appeler des langages de programmation ou de script si vous n'aimez pas leur script GUI. Il est très attrayant d'avoir un seul outil pour écrire sur l'une des principales plates-formes. Il semble que si le programme fonctionnait avec plusieurs moniteurs et fonctionnait sur des configurations communes (par exemple, plusieurs moniteurs mis à l'échelle), ce serait un grand gagnant. En l'état, je pense que c'est quelque chose à regarder pour voir si ça s'améliore. C'est à moins que vous n'utilisiez qu'un seul écran non mis à l'échelle. Ensuite, cela semble fonctionner très bien.

Si vous souhaitez simplement automatiser votre navigateur, cela semble fonctionner avec quelques problèmes. J'avais environ 4 000 entrées de spam sur un site qui ne me permettait d'en supprimer que 30 à la fois. C’est ainsi que j’ai découvert UI Vision RPA. J'avais besoin d'un moyen de cliquer sur les boutons de suppression encore et encore et cela a fait le travail avec très peu de problèmes.

Avez-vous un outil d'automatisation goto? Nous avons déjà parlé de l'automatisation de X11, mais ces techniques ne vous aident pas sur d'autres plates-formes. Ils ne font pas non plus de correspondance d'images et de texte. Bien sûr, vous pouvez toujours automatiser avec du matériel.

LAISSER UN COMMENTAIRE

Rédigez votre commentaire !
Entrez votre nom ici