Localisateurs

Le concept de localisateur est important dans les robots . Un localisateur décrit comment rechercher un élément sur lequel vous voulez effectuer une activité. Par exemple :

  • Si vous voulez ouvrir une application, le localisateur détermine sur quel dispositif le faire.
  • Si vous voulez cliquer sur un bouton, le localisateur détermine où cliquer.
  • Si vous voulez extraire du texte, le localisateur détermine où chercher le texte.

Les localisateurs sont créés automatiquement lorsque vous insérez une étape d'activité en cliquant avec le bouton droit de la souris dans la Vue de l'enregistreur. Design Studio tente de construire un localisateur qui trouve de manière fiable l'élément sur lequel vous avez l'intention d'effectuer une activité.

Si vous insérez une étape directement, en cliquant dans la vue de l'éditeur, le localisateur est vide, et vous devez le configurer pour spécifier la cible de l'activité.

Vous pouvez toujours examiner le localisateur utilisé dans une étape en développant la zone intitulée Dispositif, Application ou Composant.


Localisateur dans l'étape d'automatisation de dispositif

Types de localisateurs

Il existe quatre principaux types de localisateurs.

  1. Localisateur de dispositif

  2. Localisateur d'application

  3. Localisateur de composant

  4. Localisateur d'image

Chacun d'entre eux est toujours plus complexe que le précédent et trouve un élément plus spécifique.

Localisateur de dispositif

Le localisateur le plus simple est le localisateur de dispositif. Un localisateur de dispositif contient uniquement un sélecteur de dispositif qui choisit parmi les dispositifs accessibles.

Le sélecteur de dispositif est une liste déroulante contenant les noms des dispositifs auxquels le robot peut accéder. Les dispositifs sont répertoriés sous Dispositifs requis dans l'onglet Activité de l'étape Appeler le robot dans le Robot à Moteur Basique .

La liste déroulante contient également les alias d'autres localisateurs. Le choix d'un des alias réutilise le sélecteur de dispositif du localisateur.


Sélecteur de dispositif dans un localisateur

Le localisateur de dispositif peut être utilisé, par exemple, dans Ouvrir pour sélectionner le dispositif sur lequel vous souhaitez ouvrir une application.

Localisateur d'application

Le localisateur d'application sélectionne d'abord un dispositif, puis une application particulière sur le dispositif. Le localisateur d'application nécessite un sélecteur de dispositif et un sélecteur d'application.

Si le localisateur d'application est basé sur un autre localisateur d'application, il réutilise le sélecteur de dispositif et le sélecteur d'application du localisateur.


Localisateur d'application qui réutilise le localisateur précédent

Si le localisateur d'application repose sur un localisateur de dispositif, il réutilise le sélecteur de dispositif, et vous devez fournir le sélecteur d'application.


Localisateur d'application qui réutilise le localisateur de dispositif précédent

Le sélecteur d'application utilise la syntaxe du sélecteur CSS décrite dans Syntaxe du sélecteur.

Lors de la réutilisation d'une application trouvée, un descripteur interne à l'application est utilisé au lieu d'effectuer à nouveau la recherche parmi toutes les applications. Cela permet de cibler correctement une application, même lorsque plusieurs nouvelles instances de l'application sont lancées avec des noms identiques.

Lorsqu'un robot utilise le navigateur intégré basé sur le moteur CEF, le localisateur d'application utilise « cef » dans la propriété Application. Si une fenêtre du navigateur est ouverte et si plusieurs instances du navigateur sont ouvertes, le localisateur inclut le nom de l'application (comme par exemple name="kofax_mainwindow").

Le localisateur d'application peut être utilisé dans Appuyer sur une touche pour sélectionner une application qui reçoit l'actionnement d'une touche.

Dans certaines configurations, le sélecteur d'application est ignoré. Par exemple, la pression sur une touche est envoyée sans discernement au dispositif, et l'application qui a le focus (est devant) à ce moment là reçoit la pression sur la touche. Dans ce cas, vous devez vous assurer que l'application requise a le focus lors de l'exécution de l'activité.

Localisateur de composant

Le localisateur le plus courant est le localisateur de composant Outre la sélection d'un dispositif et d'une application spécifiques, le sélecteur de composant permet de rechercher un composant dans une application, comme un champ de saisie, un bouton, une icône, un tableau ou un menu.

Le localisateur de composant repose sur l'un des éléments suivants.

  • Un dispositif
  • Une application trouvée
  • Un composant trouvé

Si le localisateur de composant repose sur un dispositif, vous devez fournir un sélecteur d'application et un sélecteur de composant. Si vous réutilisez une application, vous ne devez fournir qu'un sélecteur de composant.

Le sélecteur de composant utilise la même syntaxe de sélecteur CSS que celle décrite dans Syntaxe du sélecteur.

Lors de la réutilisation d'un composant déjà trouvé, un descripteur interne au composant est utilisée au lieu d'effectuer à nouveau la recherche parmi tous les composants. Ainsi, un composant peut être ciblé correctement, même s'il change de position, ce qui accélère l'exécution.

Pour les localisateurs qui réutilisent un composant, il existe un champ supplémentaire facultatif Composant interne. Ce champ peut être utilisé pour rechercher des composants dans un composant déjà trouvé, comme une cellule dans un tableau, ou un bouton dans une boîte de dialogue modale.


Option de composant interne dans un localisateur de composant

Toutefois, la fonctionnalité de composant interne ne fonctionnera pas si la balise nommée (le composant à réutiliser) est basée sur une image ou une correspondance de texte.

Le sélecteur de composant interne utilise également la syntaxe de sélecteur CSS, comme décrit dans Syntaxe du sélecteur.

Pour tous les types de recherche de composants, il existe un sélecteur Correspondance de texte (Regex) facultatif. Il recherche le contenu textuel correspondant parmi les éléments trouvés à l'aide des sélecteurs précédents. Le sélecteur Correspondance de texte (Regex) est utile pour distinguer les éléments qui ne varient que par leur contenu. Par exemple, si un sélecteur de composant trouve à la fois un bouton OK et un bouton Annuler, le sélecteur de texte peut distinguer le texte « Annuler » et cibler spécifiquement le bouton Annuler. Les sélecteurs de texte sont écrits en utilisant une syntaxe d'expression régulière et disposent des modes de recherche suivants.

  • Texte sans descendant : Recherche du texte dans un élément de nœud sélectionné. Les éléments imbriqués ou enfants sont ignorés.

  • Texte avec descendants : Recherche du texte dans le nœud sélectionné et tous ses éléments enfants descendants.

  • Arborescence : Convertit l'arborescence de l'application en XML et effectue une recherche en texte intégral dans le nœud sélectionné, y compris les balises et les attributs.


Sélecteur de texte (Regex) dans un localisateur de composant
Localisateur d'image

Certains localisateurs de composant disposent d'un sélecteur d'image supplémentaire. Ces localisateurs de composant sont également appelés localisateurs d'images.

Vous pouvez utiliser un localisateur d'image lorsque l'élément avec lequel vous voulez interagir est difficile à trouver dans l'arborescence de l'application et qu'il a un aspect graphique distinct.

Le localisateur d'image est limité à 3 000 correspondances par localisateur ; un robot arrête de rechercher une image correspondante après avoir trouvé 3 000 instances.

Les localisateurs d'images ne sont pas utilisés par défaut, mais ils peuvent remplacer le localisateur de composant dans n'importe quelle étape qui en utilise un. Pour utiliser un localisateur d'image :

  1. Faites glisser une sélection rectangulaire (marquée en violet) dans la vue de l'enregistreur autour de l'élément graphique à rechercher. Vous pouvez modifier le rectangle en faisant glisser ses côtés, ou simplement dessiner un nouveau rectangle.

  2. Insérez une étape en cliquant avec le bouton droit de la souris à l'intérieur de la sélection. L'étape doit contenir un localisateur d'image créé à partir de la sélection.

  3. Sélectionnez Recherche d'image floue si vous voulez que le robot trouve l'image même si des changements y sont apportés, comme un changement de couleur. L'option contient les deux paramètres suivants :

    • Seuil : Spécifie le niveau de différence entre les images correspondantes. 100 représente une correspondance exacte tandis que 0 signifie très différent. Plus le nombre est bas, moins la recherche est stricte. Si la différence attendue est subtile, telle qu'un changement de couleur, spécifiez un nombre compris entre 90 et 100. Expérimentez avec la valeur qui correspond aux images.

    • Proximité : Spécifie le pourcentage de l'image dans une correspondance trouvée qui est ignoré lors de la recherche d'autres correspondances. « 0 » signifie que plusieurs correspondances peuvent se chevaucher presque complètement, tandis que « 100 » signifie qu'aucune partie de l'image dans une correspondance ne peut apparaître dans une autre correspondance (pas de chevauchement). Nous vous recommandons de spécifier 100 dans ce champ.

    Les paramètres de Recherche d'image floue n'ont pas de valeurs par défaut et les valeurs spécifiées ne sont pas enregistrées si vous décochez la case Recherche d'image floue.

Le sélecteur d'image dans un localisateur d'image ne peut pas être modifié, mais il peut être remplacé, comme décrit ci-dessus à l'étape 1.

Vous pouvez supprimer le sélecteur d'image, en convertissant le localisateur d'image en composant normal, en supprimant la sélection dans le champ Image.


Localisateur d'image

Si vous vous connectez à distance à un dispositif automatisé Windows via Remote Desktop Protocol (RDP), la résolution et la palette de couleurs dépendent des paramètres de connexion réseau entre votre ordinateur et le dispositif distant. Par exemple, des vitesses de connexion différentes dans des exécutions de robots différentes peuvent entraîner des problèmes si les robots utilisent l'objet Localisateur d'image et Intelligent Screen Automation (ISA). Pour le localisateur d'image et ISA, il est très important de toujours recevoir la même image (pixel par pixel) dans le même état d'application. Utilisez toujours les mêmes paramètres de résolution et de palette de couleurs spécifiés explicitement (g : géométrie du bureau (l x H) et a : palette de couleurs de connexion) pour la connexion RDP dans l'étape Ouvrir. Par exemple :

rdp://user1:MyPassword@MyDesktop?g=640x480&a=16

Notez qu'une autre connexion peut modifier les paramètres graphiques de l'écran sur l'ordinateur du service Desktop Automation et donc affecter l'objet Localisateur d'image.

Syntaxe du sélecteur

L'application et le sélecteur de composant utilisent la syntaxe des sélecteurs CSS, ce qui constitue un moyen puissant de spécifier les éléments à sélectionner.

L'expression rationnelle générale d'un sélecteur est la suivante :

elementName [attributeName="attributeValue"]

Par exemple, pour rechercher la fenêtre d'application explorer.exe avec le titre « Documents », utilisez l'expression rationnelles suivante :

explorer.exe [title="Documents"]

Les expressions rationnelles de sélecteur peuvent être également imbriquées avec le signe > (supérieur à) indiquant une relation parent-enfant, et un espace indiquant une relation ancêtre-descendant. Par exemple, pour rechercher un bouton qui est l'enfant d'un élément de la barre d'outils qui se trouve quelque part parmi les descendants d'un élément de fenêtre, vous pouvez utiliser l'expression rationnelle suivante :

barre d'outils de la fenêtre > bouton

Syntaxe de sélection avancée

Kofax RPA prend en charge la plupart des syntaxes de sélection avancées. Le tableau suivant répertorie les opérateurs pris en charge et décrit leur mode de fonctionnement.

Expression rationnelle Signification

*

Tout élément

E

Un élément de type E

E[foo]

Un élément E avec un attribut « foo »

E[foo="bar"]

Un élément E pour lequel la valeur de l'attribut « foo » est exactement égale à « bar »

E[foo~="bar"]

Un élément E pour lequel la valeur de l'attribut « foo » est une liste de valeurs séparées par des espaces, dont l'une est exactement égale à « bar »

E[foo^="bar"]

Un élément E pour lequel la valeur de l'attribut « foo » commence exactement par la chaîne « bar »

E[foo$="bar"]

Un élément E pour lequel la valeur de l'attribut « foo » se termine exactement par la chaîne « bar »

E[foo*="bar"]

Un élément E pour lequel la valeur de l'attribut « foo » contient la sous-chaîne « bar »

E:root

Un élément E, à la racine du document

E:nth-child(n)

Un élément E, le nième enfant de son parent

E:nth-last-child(n)

Un élément E, le nième enfant de son parent, en comptant à partir du dernier

E:nth-of-type(n)

Un élément E, le nième enfant de ce type

E:nth-last-of-type(n)

Un élément E, le nième enfant de ce type, en comptant à partir du dernier

E:first-child

Un élément E, le premier enfant de son parent

E:last-child

Un élément E, le dernier enfant de son parent

E:first-of-type

Un élément E, le premier enfant de ce type

E:last-of-type

Un élément E, le dernier enfant de ce type

E F

Un élément F descendant d'un élément E

E > F

Un élément F enfant d'un élément E

E + F

Un élément F immédiatement précédé d'un élément E

E ~ F

Un élément F précédé d'un élément E

Attributs multiples

Vous pouvez utiliser plusieurs attributs dans un sélecteur avec l'expression rationnelle pour identifier de manière unique une fenêtre d'application :

element [attribute1="value1"] [attribute2="value2"] [attribute3="value3"]

Par exemple, pour rechercher un bouton qui a à la fois visible="true" et un nom qui commence par « Enregistrer », vous pouvez utiliser

button [visible="true"] [name^="Enregistrer"]

Localisateurs réutilisables

La création d'un localisateur fiable est importante pour la stabilité du processus d'automatisation. Dans certains cas, cela peut être difficile et impliquer une modification manuelle des sélecteurs dans le localisateur. Une fois que le fonctionnement d'un localisateur vous convient, vous pouvez le réutiliser dans de nombreux endroits.

Une autre raison de la réutilisation est la cohérence. Si plusieurs étapes effectuent des activités sur un même élément, il est logique que toutes les étapes utilisent exactement le même localisateur. Cela permet de s'assurer qu'il n'existe pas de discordance dans la nature de l'élément.

Un localisateur peut être réutilisé de trois façons :

  • Copier et coller un localisateur
  • Référence au localisateur précédent
  • Référence au localisateur par son nom
Copier et coller un localisateur

Copier-coller d'un localisateur est la méthode de réutilisation la plus fragile. Cette méthode peut être pratique dans les situations où vous voulez créer un localisateur, mais ne voulez pas commencer avec un localisateur vide.

Pour copier un localisateur, sélectionnez le localisateur dans le volet de l'éditeur et appuyez sur Ctrl+C, ou cliquez sur le bouton Copier dans la barre d'outils.

Pour coller un localisateur copié, sélectionnez le localisateur à remplacer et appuyez sur Ctrl+V ou cliquez sur le bouton « Coller » dans la barre d'outils.

Référence au localisateur précédent

La référence au localisateur précédent est la manière la plus pratique et la plus courante de réutiliser un localisateur. Une telle référence est marquée (précédent) dans la liste déroulante de réutilisation dans le deuxième champ à partir du haut d'un localisateur. Dans ce cas, le localisateur actuel réutilise les sélecteurs du localisateur le plus récemment utilisé.



Lorsqu'une chaîne de localisateurs utilise le localisateur précédent, cela signifie qu'ils partagent tous la configuration du premier localisateur non précédent. La modification de tous les localisateurs de la chaîne s'effectue en modifiant le premier localisateur.

Pour la plupart des étapes créées à partir de la vue de l'enregistreur, les localisateurs contiennent automatiquement des références au localisateur précédent.

À partir de Kofax RPA 11.3.0, tous les localisateurs précédents sont effacés au début d'un corps d'étape de boucle. Si votre robot contenant des étapes de boucle est créé avec une version antérieure du produit, nous vous recommandons de remplacer tous les localisateurs précédents par des localisateurs nommés.

Référence à un localisateur nommé

Les références aux localisateurs nommés sont utiles lorsque le localisateur à réutiliser n'est pas le localisateur précédent.

Pour nommer un localisateur afin qu'il puisse être réutilisé, tapez un nom descriptif dans le champ Alias (le premier champ en partant du haut d'un localisateur). Une fois que vous disposez d'un ou de plusieurs localisateurs nommés, ils apparaissent comme options dans la liste déroulante de réutilisation des localisateurs suivants.



Lorsqu'un localisateur réutilise un autre localisateur, il partage la configuration du localisateur. La modification du localisateur nommé affecte tous les localisateurs qui y font référence.