- Vue d'ensemble (Overview)
- Automatisation de l'interface utilisateur
- À propos du package d'activités UIAutomation
- Applications et technologies automatisées avec UI Automation
- Compatibilité du projet
- UI-ANA-016 - Extraire l'URL ouverte du navigateur
- UI-ANA-017 - ContinuerSurErreur (ContinueOnError) True
- UI-ANA-018 - Répertorier les activités d'OCR/d'image
- UI-DBP-006 - Utilisation du conteneur
- UI-DBP-013 - Utilisation abusive de l’automatisation Excel
- UI-DBP-030 - Utilisation de variables interdites dans les sélecteurs
- UI-DBP-031 : Vérification de l’activité
- UI-PRR-001 - Simuler un clic
- UI-PRR-002 - Type de simulation
- UI-PRR-003 - Ouverture d'une utilisation abusive de l'application
- UI-PRR-004 - Délais codés en dur
- UI-REL-001 - Idx volumineux dans les sélecteurs
- UI-SEC-004 - Données d’e-mail du sélecteur
- UI-SEC-010 - Restrictions d'applications/d'URL
- UI-USG-011 - Attributs non autorisés
- UX-SEC-010 - Restrictions d'applications/d'URL
- UX-DBP-029 - Utilisation d'un mot de passe non sécurisé
- UI-PST-001 - Niveau du journal d'audit dans les paramètres du projet
- Outil de migration de navigateur UiPath
- Zone de détourage
- Enregistreur de Computer Vision
- À propos des éléments d'interface utilisateur
- Propriétés des activités de l'interface utilisateur
- Exemple d'utilisation des méthodes de saisie
- Méthodes de sortie ou de capture de données d'écran
- Exemple d'utilisation de méthodes de sortie ou de capture de données d'écran
- Génération de tables à partir de données non structurées
- Capture relative de données
- À propos de l'automatisation des images et des textes
- Activités liées à la souris et au clavier
- Exemple d'utilisation de l'automatisation de la souris et du clavier
- Les activités de type texte
- Exemple d'utilisation d'automatisation de texte
- Activités de type OCR
- Activités de type image
- Exemple d'utilisation de l'automatisation d'image et d'OCR
- Index des activités
- Activer (Activate)
- Base d'ancrage (Anchor Base)
- Lier à un navigateur (Attach Browser)
- Lier à une fenêtre (Attach Window)
- Block User Input
- Légende (Callout)
- Vérifier (Check)
- Cliquer (Click)
- Cliquer sur l'image (Click Image)
- Déclencheur de clic image (Click Image Trigger)
- Cliquer sur le texte OCR (Click OCR Text)
- Cliquer sur le texte (Click Text)
- Déclencheur de clic (Click Trigger)
- Fermer l'application (Close Application)
- Fermer l'onglet (Close Tab)
- Fermer la fenêtre (Close Window)
- Context Aware Anchor
- Copier le texte sélectionné (Copy Selected Text)
- Element Attribute Change Trigger
- Élément existant (Element Exists)
- Étendue de l'élément (Element Scope)
- Element State Change Trigger
- Export UI Tree
- Extraire les données structurées (Extract Structured Data)
- Rechercher les enfants (Find Children)
- Rechercher l'élément (Find Element)
- Rechercher l'image (Find Image)
- Rechercher les correspondances de l'image (Find Image Matches)
- Rechercher une position de texte OCR (Find OCR Text Position)
- Rechercher l'élément relatif (Find Relative Element)
- Rechercher la position du texte (Find Text Position)
- Obtenir la fenêtre active (Get Active Window)
- Obtenir l'ancêtre (Get Ancestor)
- Obtenir l'attribut (Get Attribute)
- Obtenir les infos de l'événement (Get Event Info)
- Récupérer du presse-papiers (Get From Clipboard)
- Obtenir le texte complet (Get Full Text)
- Obtenir le texte OCR (Get OCR Text)
- Récupérer le mot de passe (Get Password)
- Obtenir la position (Get Position)
- Obtenir l'élément source (Get Source Element)
- Obtenir le texte (Get Text)
- Obtenir le texte visible (Get Visible Text)
- Revenir en arrière (Go Back)
- Avancer (Go Forward)
- Accéder à l'accueil (Go Home)
- Google Cloud Vision OCR
- Masquer la fenêtre (Hide Window)
- Mettre en surbrillance (Highlight)
- Déclencheur de raccourci (Hotkey Trigger)
- Pointer (Hover)
- Pointer sur l'image (Hover Image)
- Pointer sur le texte OCR (Hover OCR Text)
- Pointer sur le texte (Hover Text)
- Image existante (Image Exists)
- Indiquer sur l'écran (Indicate On Screen)
- Injecter du code .NET
- Inject Js Script
- Invoquer la méthode ActiveX
- Déclencheur de pression de touche (Key Press Trigger)
- Charger l'image (Load Image)
- Agrandir la fenêtre (Maximize Window)
- Microsoft Azure ComputerVision OCR
- Reconnaissance optique des caractères Microsoft (Microsoft OCR)
- Microsoft Project Oxford Online OCR
- Réduire la fenêtre (Minimize Window)
- Surveiller les événements (Monitor Events)
- Déclencheur de souris (Mouse Trigger)
- Déplacer la fenêtre (Move Window)
- Accéder à (Navigate To)
- Texte OCR existant (OCR Text Exists)
- Sur affichage de l'élément (On Element Appear)
- Sur disparition de l'élément (On Element Vanish)
- Sur apparition de l'image (On Image Appear)
- Sur disparition de l'image (On Image Vanish)
- Ouvrir l'application (Open Application)
- Ouvrir le navigateur (Open Browser)
- Actualiser le navigateur (Refresh Browser)
- Relire l'événement utilisateur (Replay User Event)
- Restaurer la fenêtre (Restore Window)
- Enregistrer l'image (Save Image)
- Sélectionner l'élément (Select Item)
- Sélectionner plusieurs éléments (Select Multiple Items)
- Envoyer le raccourci (Send Hotkey)
- Définir la zone de détourage (Set Clipping Region)
- Définir le focus (Set Focus)
- Définir le texte (Set Text)
- Placer dans le presse-papiers (Set To Clipboard)
- Définir l'attribut Web (Set Web Attribute)
- Afficher la fenêtre (Show Window)
- Déclencher le processus (Start Process)
- Déclencheur système (System Trigger)
- Prendre une capture d'écran (Take Screenshot)
- Tesseract OCR
- Texte existant (Text Exists)
- Info-bulle
- Saisir dans (Type Into)
- Saisir un texte sécurisé (Type Secure Text)
- Utiliser le premier plan
- Attendre un attribut (Wait Attribute)
- Attendre que l'élément disparaisse (Wait Element Vanish)
- Attendre que l'image disparaisse (Wait Image Vanish)
- Vérification de l’accessibilité
- Application event trigger
- Block User Input
- Check/Uncheck
- Check App State
- Check Element
- Cliquer (Click)
- Click Event Trigger
- Glisser et déposer
- Extract Table Data
- Find Elements
- For Each UiElement
- Get Browser Data
- Get Clipboard (Obtenir le Presse-papiers)
- Obtenir le texte (Get Text)
- Get URL
- Go To URL
- Mettre en surbrillance (Highlight)
- Pointer (Hover)
- Inject Js Script
- Raccourcis clavier
- Keypress Event Trigger
- Mouse scroll
- Navigate Browser
- Enregistrer l'image (Save Image)
- Sélectionner l'élément (Select Item)
- Set Browser Data
- Set Clipboard (Définir le Presse-papiers)
- Définir le navigateur du runtime (Set Runtime Browser)
- Définir le focus (Set Focus)
- Définir le texte (Set Text)
- Prendre une capture d'écran (Take Screenshot)
- Saisir dans (Type Into)
- Unblock User Input
- Use Application/Browser
- Window operation
- Joindre
- Vérifier (Check)
- Cliquer (Click)
- Glisser et déposer
- Extraire des données
- Obtenir l'attribut (Get Attribute)
- ObtenirEnfants
- ObtenirCibleRuntime
- GetText
- Get URL
- GoToUrl
- Mettre en surbrillance (Highlight)
- Pointer (Hover)
- IsEnabled
- Raccourci clavier
- Mouse scroll
- Ouvrir
- Sélectionner l'élément (Select Item)
- Prendre une capture d'écran (Take Screenshot)
- Saisir dans (Type Into)
- ÉtatAttente
- Effectuez une recherche par navigateur et récupérez les résultats à l'aide des API UI Automation
- Navigation sur le Web
- Rechercher des images
- Cliquer sur des images
- Déclencher et surveiller des événements
- Créer et remplacer des fichiers
- Pages HTML : extraire et manipuler des informations
- Manipulation des fenêtres
- Sélection de liste automatisée
- Rechercher et manipuler des éléments de fenêtre
- Gérer l'automatisation du texte
- Charger et traiter des images
- Gérer les actions activées par la souris
- Automatiser l'exécution des applications
- Exécution automatisée d'une application locale
- Navigation avec le navigateur
- Automatisation Web
- Exemple de fonctionnalités du déclencheur
- Activer la prise en charge d’UI Automation dans DevExpress
- Computer Vision Local Server
- Automatisation mobile
- Notes de publication
- À propos de l'architecture d'automatisation des appareils mobiles
- Compatibilité du projet
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Installer l'application
- Gérer l'application actuelle
- Gérer une autre application
- Ouvrir DeepLink
- Ouvrir l'URL
- Mobile Device Connection
- Balayer directionnel
- Dessiner un modèle
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Prendre une capture d'écran (Take Screenshot)
- Prendre une partie de capture d'écran
- Élément existant (Element Exists)
- Execute Command
- Obtenir l'attribut (Get Attribute)
- Get Selected Item
- Obtenir le texte (Get Text)
- Set Selected Item
- Définir le texte (Set Text)
- Balayer
- Tap
- Saisir texte
- Premiers pas avec les API d’automatisation mobile
- Gestion des boîtes de dialogue contextuelles dans les automatisations mobiles
- Creating variables from selector attributes
- Créer des workflows d'automatisation mobile
- Utiliser l’automatisation mobile pour les applications de banque mobile
- Automatisation pour les applications React Native
- Terminal
- Notes de publication
- À propos du package d'activités Terminal
- Compatibilité du projet
- Meilleures pratiques
- Rechercher un texte (Find Text)
- Get Color At Position
- Obtenir la position du curseur (Get Cursor Position)
- Obtenir le champ (Get Field)
- Obtenir le champ en position (Get Field at Position)
- Accéder à la zone d'écran (Get Screen Area)
- Obtenir le texte (Get Text)
- Obtenir le texte en position (Get Text at Position)
- Déplacer le curseur (Move Cursor)
- Move Cursor to Text
- Envoyer la touche Contrôle (Send Control Key)
- Envoyer les touches (Send Keys)
- Envoyer les touches en toute sécurité (Send Keys Secure)
- Définir le champ (Set Field)
- Définir le champ en position (Set Field at Position)
- Session de terminal (Terminal Session)
- Attendre le texte de champ (Wait Field Text)
- Wait Screen Ready
- Attendre le texte d'écran (Wait Screen Text)
- Attendre le texte en position (Wait Text at Position)
- API d'automatisation codée par terminal
Activités UIAutomation
En raison des difficultés rencontrées lors de la création d'un projet d'automatisation dans des environnements virtuels, il est naturel d'employer à la fois des méthodes d'automatisation basées sur des images et sur des techniques OCR. Nous vous invitons ici à créer un projet d'automatisation dont l'objectif est de récupérer, d'une part, l'e-mail d'un salarié et, d'autre part, un numéro de facture à partir d'une facture numérisée. Le projet saisit ensuite les données dans une application factice pour la gestion des dépenses (ExpenseIt) qui se trouve sur un ordinateur virtuel, puis compare le total de la facture avec celui de l'application :
- Créer une nouvelle Séquence (Sequence).
- Ouvrez la facture numérisée, la facture utilisée dans l'exemple peut être téléchargée ici. Nous vous recommandons d’utiliser Adobe Acrobat Reader pour des raisons de compatibilité.
- Comme expliqué dans la capture relative de données, récupérez l'e-mail de l'employé à l'aide de la technologie OCR. Un conteneur, Attach Window renommé dans cet exemple en Attach PDF, qui contient le sélecteur et permet à toutes les autres activités de savoir où effectuer des actions est généré. Il contient une activité Find Image, qui sélectionne l'ancre pour l'extraction relative, une activité Get OCR Text qui récupère l'adresse e-mail de l'employé et deux activités Set Clipping Region : une pour traduire la première région de détourage en la seconde, et l’autre pour réinitialiser la zone de détourage.
- Dans le module Variables, créez une nouvelle variable de type Valeur générique (GenericValue) et nommez-la
email. - Saisissez la variable de l'e-mail dans la propriété Texte (Text) de l'activité de type Extraire le texte OCR (Get OCR Text) précédente.
- Nommez la séquence ci-dessus Lire l'e-mail.
Les moteurs OCR disponibles dans Studio UiPath présentent tous des avantages et des inconvénients, en fonction des circonstances dans lesquelles ils sont utilisés. Il est donc essentiel d'essayer chacun afin de determiner dans quel contexte les utiliser. L'utilisation pour chaque tâche du moteur OCR le plus adapté permet en effet d'obtenir de meilleurs résultats.
-
Comme expliqué dans la section Extraction relative de données, récupérez le numéro de facture à l'aide de la technologie OCR. L'enregistreur génère un conteneur, Attach Window renommé dans cet exemple en Attach PDF, qui contient le sélecteur et permet à toutes les autres activités de savoir où effectuer des actions. À l'intérieur du conteneur, il y a une activité Find Image qui sélectionne l'ancre pour l'extraction relative, une activité Get OCR Text qui récupère le numéro de facture de l'employé et deux activités Set Clipping Region , une pour traduire la première région de détourage en seconde, et un pour réinitialiser la zone de détourage.
-
Dans le module Variables, créez une nouvelle variable de type Valeur générique (GenericValue) et nommez-la
invoiceNo. -
Saisissez la variable
invoiceNodans la propriété Texte (Text) de l'activité de type Extraire le texte OCR (Get OCR Text) précédente. -
Nommez la séquence ci-dessus Read Invoice Number (extraire le numéro de la facture).
-
Comme expliqué dans la Capture relative de données, récupérez les dépenses totales de l'employé à l'aide de la technologie OCR. L'enregistreur génère un conteneur, Attach PDF, qui contient le sélecteur et permet à toutes les autres activités de savoir où effectuer des actions. À l'intérieur, il y a une activité Find Image qui sélectionne l'ancre pour l'extraction relative, une activité Get OCR Text qui récupère le total des dépenses de l'employé et deux activités Set Clipping Region , une pour traduire la première région de détourage en la seconde, et une pour réinitialiser la zone de détourage.
-
Dans le module Variables, créez une nouvelle variable de type Valeur générique (GenericValue) et nommez-la
totalValue. -
Saisissez la variable
totalValuedans la propriété Texte (Text) de l'activité de type Extraire le texte OCR (Get OCR Text) précédente. -
Nommez la séquence ci-dessus Extraire le total des frais (Read Total Expenses).
Remarque :Pour ouvrir une application dans un environnement virtuel nous conseillons d'abord de créer un raccourci pointant vers l'application à ouvrir sur le bureau de l'ordinateur, puis de lui assigner un raccourci clavier. Un clic sur l'icône de l'application en utilisant Cliquer sur le texte OCR (Click OCR Text) peut parfois échouer si la couleur de l'arrière-plan ou de l'icône change.
-
Créez un raccourci pour l'application ExpenseIt sur le bureau de l'ordinateur virtuel.
-
Cliquez sur le raccourci avec le bouton droit de la souris pour ouvrir le menu contextuel, puis sélectionnez l'option Propriétés (Properties) pour afficher la fenêtre des Propriétés du raccourci (Shortcut Properties).
-
Rendez-vous dans l'onglet Raccourci (Shortcut) et ajoutez un raccourci clavier pour l'application dans le champ Touche de Raccourci (Shortcut Key), en appuyant sur la combinaison de touches désirée (par exemple Alt + Ctrl + T).
-
Ouvrez l'assistant d'enregistrement Citrix (Citrix Recording Wizard) pour démarrer un nouvel enregistrement.
-
Enregistrez l'envoi du raccourci clavier créé pour l'application vers la fenêtre de l'ordinateur virtuel.
-
Utilisez la méthode de capture relative de données pour cliquer sur le champ E-mail de l'application ExpenseIt en fonction de la position de son intitulé.
-
Entrez la variable
emaildans le champ E-mail (Email) de l'application ExpenseIt. -
Utilisez la méthode Capture relative de données (Relative Scraping) pour cliquer sur le champ Numéro de l'employé (Employee Number) de l'application ExpenseIt en fonction de la position de son intitulé.
-
Entrez la variable
invoiceNodans le champ Numéro de l'employé (Employee Number) de l'application ExpenseIt. -
Cliquez sur Enregistrer & Quitter (Save & Exit) pour fermer l'Assistant d'enregistrement (Recording Wizard). Un conteneur de type Lier à une fenêtre (Attach Window) est généré pendant l'enregistrement : il contient le sélecteur et indique à toutes les autres activités où effectuer les actions. Il comprend : une activité de type Transmettre un raccourci clavier (Send Hotkey), une activité Cliquer sur l'image (Click Image) dont la fonction est de cliquer sur le champ situé à droite de l'intitulé E-mail (Email), une activité Saisir dans (Type Into) dont la fonction est de saisir la variable de l'e-mail dans le champ, une activité Cliquer sur l'image (Click Image) dont la fonction est de cliquer sur le champ à droite de l'intitulé Numéro de l'employé(Employee Number) et, enfin, une activité de type Saisir dans (Type Into) qui enregistre la variable
invoiceNodans le champ. -
Ouvrez l'assistant d'enregistrement Citrix (Citrix Recording Wizard) pour démarrer un nouvel enregistrement.
-
Enregistrez un clic du curseur sur le bouton Créer le rapport de dépenses (Create Expense Report) dans l'application ExpenseIt.
-
Utilisez la méthode Capture relative de données (Relative Scraping) pour extraire la valeur correspondant à l'intitulé du champ Total des frais ($) (Total Expenses).
-
Cliquez sur Enregistrer & Quitter (Save & Exit) pour fermer l'assistant d'enregistrement(Recording Wizard). Un conteneur de type Lier à une fenêtre (Attach Window) est généré pendant l'enregistrement : il contient le sélecteur et indique à toutes les autres activités où effectuer les actions. Il comprend : une activité de type Cliquer sur le texte OCR (Click OCR Text) dont la fonction est de cliquer sur le bouton Créer le rapport de dépenses (Create Expense Report), une activité de type Chercher une image (Find Image) dont la fonction est de déterminer un point d'ancrage pour la capture relative des données, une activité de type Extraire le texte OCR (Get OCR Text) dont le but est d'extraire la valeur totale des dépenses et, enfin, deux activités de type Définir une zone de capture (Set Clipping Region), dont la première sert à transmettre la zone de capture à la deuxième, tandis que la deuxième sert à réinitialiser la zone de capture.
-
Dans le module Variables, créez une nouvelle variable de type Valeur générique (GenericValue) et nommez-la
totalExpense. -
Saisissez la variable
totalExpensedans le champ Texte (Text) de l'activité de type Extraire le texte OCR (Get OCR Text) précédente. -
Insérez une nouvelle activité de type Si (If) après la dernière séquence d'enregistrement générée.
-
Indiquez
totalExpense = totalValuedans la propriété Condition (Condition) de l'activité Si (If) : l'automatisation vérifiera alors si la valeur totale de la facture est égale à celle indiquée dans l'application pour la gestion des dépenses. -
Insérez une activité de type Zone de message (Message Box) dans la section Puis (Then) de l'activité Si (If).
-
Dans le champ de propriété Text de Message Box, écrivez un message qui indique que les valeurs sont égales, d'où la facture correcte.
-
Insérez une activité de type Zone de message (Message Box) dans la section Autre (Else) de l'activité Si (If).
-
Dans le champ de propriété Text de Message Box, écrivez un message qui indique que les valeurs ne sont pas égales, d'où la facture incorrecte.
-
Appuyez sur la touche F5 pour exécuter l'automatisation. Remarque : l'automatisation enregistre les informations provenant de la facture numérisée dans l'application ExpenseIt, compare la valeur totale de la facture avec le total des dépenses enregistrées et informe l'utilisateur si les valeurs sont égales ou inégales.
Puisque ce processus d'automatisation sous-entend un contexte virtuel, il est inutile de télécharger un modèle de projet, car celui-ci ne fonctionnerait pas sur une autre machine. Nous vous encourageons donc à créer votre propre projet grâce aux instructions ci-dessus.