Cloud Flow oder Desktop Flow? Die Entscheidung in 5 Fragen
Cloud Flow oder Desktop Flow? So entscheiden Sie in Power Automate, wenn ein Alt-ERP ohne API im Spiel ist.
Warum Selektoren in Power Automate Desktop brechen, wie Sie sie robust bauen und mit Wait-Aktionen echte Wartezeiten statt fester Pausen nutzen.
Wenn eine UI-Automatisierung mit Power Automate Desktop (PAD) nach Wochen im Produktivbetrieb plötzlich mit „Failed to get UI element" abbricht, liegt das fast nie an einem Zufall. Meistens hat sich im Hintergrund etwas verändert, das der Selektor nicht mehr wiederfindet: ein App-Update, eine andere Bildschirmauflösung, ein Fenster, das beim Start eine Sekunde länger braucht als gewohnt. Genau an diesen zwei Stellschrauben, robuste Selektoren und saubere Wartezeiten, entscheidet sich, ob ein Flow Monate stabil im unbeaufsichtigten Modus läuft oder alle paar Tage manuell repariert werden muss.
Dieser Leitfaden zeigt Ihnen, wie Selektoren in PAD aufgebaut sind, welche Operatoren und Variablen sie dynamisch machen, und wie Sie mit den passenden Wait-Aktionen feste Pausen durch echte Synchronisation ersetzen. Am Ende finden Sie eine Checkliste, mit der Sie bestehende Flows gezielt gegen die häufigsten Abbruchursachen absichern.
Ein Selektor in Power Automate Desktop beschreibt, wo genau ein UI-Element in der Hierarchie einer Anwendung oder Webseite liegt. Laut Microsoft entstehen Selektoren, indem PAD Eigenschaften wie Name, Klasse oder Automatisierungs-ID sowie die Position des Elements in der UI-Struktur erfasst. Genau diese Erfassung macht Selektoren empfindlich gegenüber Veränderungen. Microsoft nennt in der Anleitung zur Fehlerbehebung bei unbeaufsichtigten Desktopflüssen unter anderem folgende Faktoren, die einen zuvor funktionierenden Selektor ungültig machen können:
Wer weiß, an welchen Stellen ein Selektor typischerweise bricht, kann ihn von Anfang an so bauen, dass er diese Schwankungen übersteht, statt erst nach dem ersten Ausfall zu reagieren.
Ein Selektor besteht aus mehreren Ebenen, die mit dem Zeichen > verkettet sind. Jede Ebene beschreibt ein Element mit seinen Attributen in der Form element[Attribut1="Wert1"][Attribut2="Wert2"]. Ein einfaches Beispiel aus der Dokumentation zum Erstellen einer benutzerdefinierten Auswahl zeigt ein Editor-Fenster: :desktop > window[Name="Notizen.txt - Editor"][Process="Notepad"]. Die erste Ebene beginnt immer mit dem Stammelement :desktop, jede weitere Ebene ist Kind der vorherigen.
Der Standardoperator Gleich sucht nach einem exakten, hartcodierten Wert. Das funktioniert zuverlässig bei statischen Anwendungen, wird aber schnell zum Problem, sobald sich Fenstertitel dynamisch ändern, etwa durch einen Dateinamen oder einen Zeitstempel im Titel. Power Automate stellt dafür fünf weitere Operatoren bereit:
Ein Fenstertitel wie „Notizen.txt - Editor (2)" lässt sich mit Startet mit deutlich robuster abbilden als mit Gleich, weil die Ziffer in Klammern am Ende variieren kann, ohne dass der Selektor bricht.
Wenn ein Attributwert von einer vorherigen Aktion abhängt, zum Beispiel ein Dateiname, der erst zur Laufzeit feststeht, lässt sich im Selektor eine Variable in Prozent-Notation einsetzen, etwa :desktop > window[Name="%WindowName%"][Process="Notepad"]. So bleibt der Selektor auch dann gültig, wenn sich der erwartete Wert von Lauf zu Lauf ändert.
Ein einzelnes UI-Element kann in PAD mehrere Selektoren besitzen. Fällt der erste aus, springt Power Automate automatisch zum nächsten in der definierten Reihenfolge, ganz ohne zusätzlichen Programmierschritt in Ihrem Flow. Über die Schaltfläche Auswahl mit Neuerfassung oder per Kopie eines bestehenden Selektors lassen sich zusätzliche Varianten anlegen, etwa eine mit Gleich für den Normalfall und eine mit Enthält oder Regex als Rückfallebene.
Für besonders instabile Oberflächen, etwa Terminalsitzungen oder Legacy-Anwendungen ohne saubere UI-Hierarchie, empfiehlt Microsoft in derselben Anleitung zusätzlich den Bild-Fallback, bei dem PAD auf Bilderkennung statt auf UI-Attribute zurückgreift, wenn kein regulärer Selektor mehr greift.
Feste „Warten"-Aktionen mit einer Sekundenzahl sind ein häufiger Grund, warum Flows entweder unnötig langsam laufen oder trotzdem noch zu früh auf ein Element zugreifen. Power Automate Desktop bietet dafür gezielte Synchronisationsaktionen, die auf den tatsächlichen Zustand der Anwendung warten, statt blind eine Zeitspanne verstreichen zu lassen.
Alle drei Aktionen lassen sich so konfigurieren, dass sie nach Ablauf einer definierten Zeit mit einem Timeout-Fehler abbrechen, statt endlos zu warten. Das ist wichtig für unbeaufsichtigte Flows, damit ein hängendes Fenster nicht den gesamten Lauf blockiert, sondern kontrolliert in die Fehlerbehandlung läuft.
Bevor ein Flow in den unbeaufsichtigten Betrieb geht, lohnt sich ein Test jedes kritischen Selektors direkt im Selector Builder. Bricht ein Selektor trotzdem, bietet die Funktion „Auswahl reparieren" eine schnelle erste Hilfe: Sie erfassen das Element per Strg+Linksklick neu, PAD vergleicht die alte mit der neuen Struktur und schlägt eine reparierte Auswahl vor, die Sie vor der Übernahme noch prüfen können. Enthält ein Selektor Variablen, funktioniert die automatische Reparatur laut Microsoft nicht, hier bleibt nur die manuelle Anpassung im Texteditor des Selector Builders.
Für Flows, die dauerhaft ohne Aufsicht laufen sollen, fasst Microsoft mehrere Empfehlungen zusammen, die sich in der Praxis bewährt haben:
Mit dieser Kombination aus robusten Selektoren und echten Wartebedingungen läuft ein Flow deutlich seltener ins Leere. Sie behalten die Kontrolle über den Ablauf, weil jede Aktion erst startet, wenn die Anwendung tatsächlich bereit dafür ist, statt nach einer geschätzten Wartezeit auf gut Glück loszulegen. Wer Power Automate Desktop im größeren Rahmen produktiv einsetzt, sollte diese Stabilitätsmaßnahmen von Anfang an einplanen, etwa im Rahmen begleiteter Automatisierungsprojekte, statt sie erst nach den ersten nächtlichen Ausfällen nachzurüsten.
Eine feste Wartezeit schätzt nur, wie lange eine Anwendung braucht, reagiert aber nicht auf den tatsächlichen Zustand. Ist die Anwendung schneller, verschwendet der Flow unnötig Zeit, ist sie langsamer, etwa durch Netzwerklast oder einen langsamen Server, versucht die nächste Aktion auf ein Element zuzugreifen, das noch gar nicht da ist. Aktionen wie Warte auf Fensterinhalt oder Auf Fenster warten prüfen stattdessen den echten Zustand der Anwendung und laufen erst weiter, wenn die Bedingung tatsächlich erfüllt ist.
Auf Fenster warten bezieht sich auf das Fenster als Ganzes, also ob es öffnet, schließt, den Fokus erhält oder verliert. Warte auf Fensterinhalt geht eine Ebene tiefer und prüft, ob innerhalb eines bereits geöffneten Fensters ein bestimmter Text oder ein bestimmtes UI-Element erscheint, verschwindet oder seinen aktivierten beziehungsweise deaktivierten Zustand ändert. In der Praxis kombinieren Sie oft beides: erst auf das Fenster warten, danach auf den konkreten Inhalt.
Es gibt keine feste Zahl, aber Microsoft empfiehlt ausdrücklich, mehrere Selektoren pro Element zu hinterlegen, damit ein Fallback greift, wenn der erste fehlschlägt. In der Praxis reichen für die meisten Elemente zwei bis drei Varianten, etwa eine mit Gleich für den Normalfall, eine mit Enthält oder Regex als Rückfallebene, und bei besonders instabilen Oberflächen zusätzlich ein Bild-Fallback.
Nein. Laut Microsoft-Dokumentation funktioniert die automatische Reparaturfunktion nicht bei Selektoren, die eine oder mehrere Variablen enthalten. In diesem Fall müssen Sie entweder die Variablen vorübergehend durch statische Werte ersetzen, um die Reparatur zu nutzen, oder den Selektor direkt manuell im Texteditor des Selector Builders anpassen.
Wenn selbst ein reparierter Selektor mit mehreren Fallback-Ebenen nicht stabil läuft, hilft laut Microsoft oft ein Wechsel auf Bild-Fallback oder auf Surface-Automatisierung mit Maus-, Tastatur- und OCR-Aktionen, besonders bei Anwendungen ohne saubere UI-Hierarchie, etwa in virtuellen Desktopumgebungen. Zusätzlich lohnt sich ein Blick auf die zugrunde liegende Ursache: häufig liegt es an unterschiedlicher Bildschirmauflösung, DPI-Skalierung oder Fenstermodus zwischen der Entwicklungsumgebung und dem unbeaufsichtigten Zielrechner.
Gründer von NordFlux. Sieben Jahre Erfahrung von Web und SEO bis zur Automatisierung im Konzern-Maßstab, heute pragmatisch für den Mittelstand und mit deutscher Datenhoheit.
Zertifizierungen
Cloud Flow oder Desktop Flow? So entscheiden Sie in Power Automate, wenn ein Alt-ERP ohne API im Spiel ist.
Der Recorder in Power Automate Desktop zeichnet Klicks als Flow-Aktionen auf. Was er kann, wie UIA und MSAA funktionieren und wo er an Grenzen stößt.
Copilot in Power Automate for Desktop erstellt, erweitert und repariert Desktop-Flows per Prompt, noch mit Einschränkungen bei Region und Sprache.
Feste Pausen und brüchige Selektoren sind der häufigste Grund, warum unbeaufsichtigte Desktop-Flows nachts ausfallen. Wir bauen Ihre Selektoren mit Fallback-Strategien und echten Wait-Bedingungen, damit Flows auch bei wechselnden Oberflächen zuverlässig laufen. Danach übernehmen wir auf Wunsch auch den laufenden Betrieb und die Fehlerbehebung.