Wichtig!
Automatisierungsprozesse, die UIAutomation-Aktivitäten verwenden, können nicht in einem gesperrten Bildschirm ausgeführt werden.
In manchen Fällen ist die normale, manuelle Routine nicht optimal für die Automatisierung. Untersuchen Sie sorgfältig das Verhalten der Anwendung und die Integration/Features von UiPath, bevor sie sich für einen bestimmten Ansatz entschließen.
Hinweis:
Using the Parallel activity with UI Automation activities is not supported and often results in unforeseen consequences.
Desktop-Automatisierung
Die UI-Automatierung wird am besten eingesetzt, wenn Roboter und Anwendungen auf dem gleichen Computer laufen, weil UiPath dann direkt mit der Technologie hinter der Anwendung integrieren kann, um Elemente zu identifizieren, Events auszulösen und die Daten „hinter den Kulissen“ abzurufen.
Eingabemethoden
UiPath verwendet drei Methoden, um eine Klicken- oder Eingeben in-Aktivität auf einer Anwendung auszulösen. Doe werden als Eigenschaften in allen Aktivitäten angezeigt, die mit der UI-Automatisierung arbeiten.
Die Eigenschaften „SimulateType“ und „SimulateClick“
Wenn die Eigenschaft SimulateType oder SimulateClick ausgewählt wird, verbindet sich Studio mit der Anwendung und löst den Ereignishandler eines angegebenen UI-Elements aus (Schaltfläche, Textfeld). Das Ergebnis ist immer abhängig von der Zieltechnologie, wie z. B. einem Webbrowser oder einer Geschäftsanwendung.
Es wird dringend empfohlen, den Zustand des Ziel-UI-Elements vor der Ausführung zu überprüfen, wenn Sie SimulateType oder SimulateClick für die folgenden Aktivitäten aktivieren:
Dieselbe Empfehlung sollte auch für die unten aufgeführten Anwendungen beachtet werden, da diese standardmäßig die Eigenschaft SimulateType oder SimulateClick verwenden und nicht geändert werden können:
- Prüfen (Check)
- Objekt auswählen (Select Item)
- Mehrere Objekte auswählen (Select Multiple Items)
- Text einstellen (Set Text)
Die AlterIfDisabled-Eigenschaft
Die Eigenschaft weist die Zielaktivität an, ob sie mit deaktivierten Elementen interagieren soll oder nicht. Bitte beachten Sie, dass diese Eigenschaft nur berücksichtigt wird, wenn SimulateType oder SimulateClick aktiviert ist. Sie finden die AlterIfDisabled-Eigenschaft für die folgenden Aktivitäten:
- Klicken (Click)
- Eingeben in (Type Into)
- Sicheren Text eingeben (Type Secure Text)
- Prüfen (Check)
- Objekt auswählen (Select Item)
- Mehrere Objekte auswählen (Select Multiple Items)
- Text einstellen (Set Text)
Die Eigenschaft „SendWindowMessages“
Wenn die Eigenschaft SendWindowMessages ausgewählt ist, postet Studio die Eventdetails in der Anwendungsnachrichtenschleife und die Fensterprozedur der Anwendung verteilt sie intern an das Ziel-UI-Element.

Studio signalisiert Systemtreibern mithilfe von Hardware-Events, auch wenn keine der obigen Optionen ausgewählt sind, und es lässt das Betriebssystem die Details zum Zielelement verteilen.

Diese Methoden sollten in der vorgestellten Reihenfolge ausprobiert werden, da die Eigenschaften SimulateClick und SendWindowMessages schneller sind und auch im Hintergrund arbeiten. Sie sind jedoch weitestgehend von der Technologie hinter der Anwendung abhängig.
Hardware-Events funktionieren zu 100 %, da Studio Aktionen wie ein menschlicher Betreiber ausführt, wie beispielsweise das Bewegen eines Mauszeigers und das Klicken auf eine bestimmte Position. In diesem Fall muss die zu automatisierende Anwendung jedoch auf dem Bildschirm sichtbar sein. Dies könnte als Nachteil angesehen werden, da das Risiko besteht, dass der Benutzer in die Automatisierung eingreifen kann.
Selektoren
Manchmal schlagen die automatisch generierten Selektoren volatile Attributwerte vor, um Elemente zu identifizieren. In diesem Fall ist eine manuelle Intervention erforderlich, um die Selektoren zu kalibrieren. Ein zuverlässiger Selektor sollte das gleiche Element in allen Zuständen, in Entwicklungs-, Test- und Produktionsumgebungen und unabhängig von den bei der Anwendung angemeldeten Benutzernamen erfolgreich identifizieren.
Here are some tips on how to improve a selector in the Selector Editor or UI Explorer:
- Ersetzen Sie Attribute mit volatilen Werten mit Attributen, die gleichmäßig und aussagekräftig aussehen.
- Ersetzen Sie variable Teile eines Attributwerts mit Platzhaltern (*).
- Falls der Wert eines Attributs ausschließlich aus Platzhaltern besteht (z. B.
name=’*’
), dann sollte es entfernt werden. - Wenn die Bearbeitung der Attribute nicht hilft, versuchen Sie mehr dazwischengeschaltete Container hinzuzufügen.
- Vermeiden Sie die Verwendung des Attributs
idx
, es sei denn sein Wert ist eine sehr kleine Nummer, wie 1 oder 2.

Im obigen Selektor haben wir bemerkt, dass der Seitentitel eine Referenz zu der Zeit hat, zu dem der Selektor aufgezeichnet wurde, und dass einige Attribute zufällig aussehende IDs haben. Indem wir die Attribute optimieren, erhalten wir einen besseren Selektor als den, denn der UiPath-Aufzeichner vorgeschlagen hatte.

Container
Ähnlich wie Dateipfade können Selektoren vollständig oder partiell (relativ) sein. Vollständige Selektoren beginnen mit einem Fenster oder einer HTML-ID und haben alle erforderlichen Informationen, um ein Element auf dem gesamten Desktop zu finden. Partielle Selektoren funktionieren nur in einem Anhang/Container, der das Fenster der oberste Ebene festlegt, in dem sich die Elemente befinden sollen:
- OpenBrowser
- OpenApplication
- AttachBrowser
- AttachWindow
Here is a bit more info on Full versus Partial Selectors.
Es gibt mehrere Vorteile, Container mit partiellen Selektoren anstelle von vollständigen Selektoren zu verwenden:
- Visuelle Gruppierung von Aktivitäten, die auf der gleichen Anwendung funktionieren.
- Etwas schneller, weil nicht jedes Mal nach dem obersten Fenster gesucht wird.
- Die Verwaltung von Selektoren der obersten Ebene ist einfacher, falls manuelle Aktualisierungen erforderlich sind.
- Essenziell, wenn an zwei Instanzen der gleichen Anwendung gearbeitet wird.
Bild-Automatisierung
Die Bild-Automatisierung ist der letzte Ansatz bei der Automatisierung von Anwendungen, wenn nichts anderes funktioniert, um UI-Elemente auf dem Bildschirm zu identifizieren (wie Selektoren oder Tastaturkürzel). Weil bei der Bildübereinstimmung Elemente vollständig auf dem Bildschirm sichtbar sein müssen und alle sichtbaren Details während der Laufzeit und während der Entwicklung die gleichen sein müssen, muss bei der Bild-Automatisierung besondere Sorgfalt angewendet werden, damit der Prozess zuverlässig abläuft. Wenn mehr/weniger eines Bildes ausgewählt wird als notwendig, kann dies dazu führen, dass das Bild nicht gefunden wird oder zu einer Falsch-Positiv-Übereinstimmung.
Auflösungserwägungen
Die Bildübereinstimmung hängt sehr von Umgebungsvariationen wie dem Desktop-Design oder der Bildschirmauflösung ab. Wenn die Anwendung in Citrix läuft, sollte die Auflösung größer oder gleich derjenigen sein, die beim Aufzeichnen der Workflows angewendet wurde. Andernfalls können kleine Bildabweichungen durch eine leichte Verringerung des Genauigkeitsfaktor des erfassten Bildes kompensiert werden. Überprüfen Sie, wie das Anwendungslayout sich an verschiedene Auflösungen anpasst, um die Nähe zu visuellen Elementen sicherzustellen, besonders in dem Fall von auf Koordinaten basierenden Techniken, wie der relative Klick oder der relative Scrape.
Falls die Automatisierung unterschiedliche Auflösungen unterstützt, können parallele Aufzeichnungen innerhalb einer PickBranch-Aktivität platziert werden, und der Roboter kann zwischen den beiden Übereinstimmungen auswählen.
OCR-Engines
Wenn OCR ein gutes Ergebnis für die Anwendung zurückgibt, ist die Text-Automatisierung eine gute Alternative zur Minimierung der Umgebungsbeeinflussing. Die Google Tesseract-Engine funktioniert besser für kleinere Bereiche, und Microsoft MODI für größere.
Wenn Sie die MODI-Engine in Schleifenautomatisierungen verwenden, kann dies gelegentlich zu Speicherverlusten führen. Daher wird empfpohlen, dass das Scraping mit MODI über einen separaten Workflow ausgeführt wird, unter Verwendung der Eigenschaft Isoliert (Isolated).
UI-Synchronisierung
Wenn die Anwendung sich nicht in dem Zustand befindet, in dem der Workflow annimmt, dass sie sich befindet, wird vermutlich unerwartetes Verhalten auftreten. Das erste, worauf zu achten ist, ist die Zeit, die die Anwendung braucht, um auf die Roboter-Anwendungen zu reagieren.
Mit der Eigenschaft DelayMS können Sie einige Zeit warten, bis die Anwendung reagiert. Es gibt jedoch Situationen, in denen der Zustand einer Anwendung validiert werden muss, bevor mit bestimmten Schritten in einem Prozess fortgefahren wird. Zu diesen Maßnahmen können extra Aktivitäten gehören, die vor anderen Interaktionen auf den gewünschten Anwendungszustand warten. Aktivitäten, die helfen könnten:
- Element Exists, Image Exists, Text Exists, OCR Text Exists.
- Find Element, Find Image, Find Text Position.
- Wait Element Vanish, Wait Image Vanish.
- Wait Screen Text (in terminals).
Hintergrund-Automatisierung
Wenn eine Automatisierung dazu gedacht ist, den Desktop mit einem menschlichen Benutzer zu teilen, müssen alle UI-Interaktionen im Hintergrund implementiert werden. Das bedeutet, dass die Automatisierung mit den UI-Elementobjekten direkt arbeiten muss und das Anwendungsfenster während des Prozesses verborgen oder minimiert werden kann.
- Use the SimulateType, SimulateClick, and SendWindowMessagesoptions for navigation and data entry via the Click and Type Into activities.
- Use the Set Text, Check, and Select Item activities for background data entry.
- The Get Text, Get Full Text, and WebScraping activities are the outputs that run in the background.
- Use the Element Exists activity to verify application state.
Anleitungen
Wie Sie die Chrome-/Edge-/Firefox-Automatisierung in BiB ausführen, ohne Ihre Arbeit in der Hauptsitzung zu unterbrechen
When executing web automation with Chrome/Edge/Firefox browsers in the child session of a PictureInPicture (PiP) mode and you want to continue using the browser in the main session, please know that both Chrome and Edge cannot be launched simultaneously, in different sessions, while using the same user data directory.
Der Standardordner wird vom Browser beim ersten Start erstellt. Unter Windows ist der Speicherort des Standardordners %LOCALAPPDATA%\Google\Chrome\User Data
. Ihre Browserprofildaten werden hier gespeichert und jedes neue Browserprofil, das Sie erstellen, hat seinen eigenen Bereich: Navigationsverlauf, Lesezeichen und Cookies.
Wenn Sie als Benutzer den Browser aus einem bestimmten Grund mit Ihrem eigenen benutzerdefinierten Datenordner starten möchten, ist dies möglich, indem Sie den Browser mit dem folgenden Befehl starten: chrome.exe --user-data-dir=c:\foo
. Alle Ihre Profildaten werden in diesem benutzerdefinierten Ordner gespeichert.
To bypass this limitation, the Modern UseApplicationBrowser and the Classic OpenBrowser activities provide an out-of-the-box solution: the UserDataFolderMode and UserDataFolderPath properties which instruct the activity on launching the browser with either its default folder, the one automatically generated by the activity, or a custom one, specified by the latter property.
Sehen wir uns die Funktionsweise dieser Eigenschaften einmal genauer an.
1. Fall
Sie möchten nicht alle Details über den Benutzerdatenordner kennen, sondern Sie möchten einfach, dass die Automatisierung den Browser im BiB-Modus startet und ihre Arbeit erledigt, damit Sie Ihre eigene Arbeit in der Hauptsitzung erledigen können. Dann lassen Sie den BenutzerdatenOrdnermodus einfach leer. Der Standardwert wird als „Automatisch“ aus dem Abschnitt Projekteinstellungen/ApplicationBrowser übernommen: Der Roboter erstellt automatisch einen temporären Datenordner/ein Profil für Sie, um die Automatisierung im BiB-Modus auszuführen.
2. Fall
Sie möchten die Automatisierung im BiB-Modus mit dem standardmäßigen Benutzerdatenordner ausführen, da er Ihr Standardprofil und den gesamten Anmeldeverlauf und alle Cookies Ihrer geschäftlichen Apps enthält. Legen Sie BenutzerdatenOrdnermodus auf DefaultFolder fest. Bitte beachten Sie, dass ein einfaches Starten des Browsers in Ihrer Arbeitssitzung erst möglich ist, nachdem die BiB-Automatisierung abgeschlossen und/oder der BiB-Browser angehalten wurde.
3. Fall
Sie kennen sich gut aus und verstehen die Browsereinschränkungen sowie die Funktionen von UiPath. Legen Sie BenutzerdatenOrdnermodus auf CustomFolder und BenutzerdatenOrdnerpfad auf einen Pfad Ihrer Wahl fest.
For all of the above cases, we recommend installing the extension per group policy. This way, the extension is available and activated for any browser profiles, regardless if they are created in default or custom user data folders.
Vor etwa einem Monat aktualisiert