Funktionsweise und Nutzung der Automatisierung von GUI-Bedienvorgängen mittels Bilderkennung
Beim Aufzeichnen und Wiedergeben von Makros erleben viele, dass ein Makro gestern noch funktionierte, heute aber an der falschen Stelle klickt. Meist liegt das daran, dass das aufgezeichnete Makro mit festen Bildschirmkoordinaten arbeitet. Öffnet sich das Fenster an einer anderen Position, ändert sich die Bildschirmauflösung oder erfolgt die Wiedergabe auf einem anderen Monitor, landet der Klick nicht mehr an der vorgesehenen Stelle. Dieses grundlegende Problem wird durch Automatisierung mit Bilderkennung gelöst.
Bilderkennung ist eine Technik, die Bildschirmelemente nicht anhand ihrer Koordinaten, sondern anhand ihres Aussehens sucht. Dazu wird vorab ein kleines Bild der gewünschten Schaltfläche registriert. Bei der Wiedergabe durchsucht das Tool den gesamten Bildschirm nach einer Stelle, die diesem Bild entspricht. Unabhängig davon, wohin die Schaltfläche verschoben wurde, kann sie zuverlässig gefunden und angeklickt werden, solange ihr Aussehen gleich bleibt. Genau darin liegt die Stärke der Bilderkennung.
Wie die Bilderkennung Elemente findet
Das Prinzip ist einfach. Zunächst wird ein kleines Bild des Elements aufgenommen und gespeichert, das als Orientierungspunkt dienen soll, beispielsweise einer Schaltfläche „Senden“ oder eines bestimmten Symbols. Dieses Bild wird als Vorlagenbild bezeichnet. Beim Ausführen des Makros nimmt das Tool den aktuellen Bildschirm auf und sucht darin nach einem Bereich, der mit dem Vorlagenbild übereinstimmt. Wird eine Übereinstimmung gefunden, gibt es die Koordinaten der Mitte zurück. Das Makro bewegt den Mauszeiger dorthin und klickt.
Eine wichtige Einstellung ist hier der Übereinstimmungsschwellenwert, also die Abgleichgenauigkeit. Eine Übereinstimmung kann beispielsweise bereits dann angenommen werden, wenn die Ähnlichkeit mindestens 90 % beträgt, ohne dass die Bilder zu 100 % identisch sein müssen. Ein höherer Schwellenwert reduziert Fehlerkennungen, kann aber dazu führen, dass ein Element wegen geringfügiger visueller Unterschiede nicht gefunden wird. Ein niedrigerer Wert bietet mehr Flexibilität, erhöht jedoch das Risiko, ein ähnlich aussehendes anderes Element fälschlicherweise zu erfassen. Am besten testen Sie direkt auf dem tatsächlichen Bildschirm, um einen geeigneten Wert zu finden.
Der gezielte Einsatz von FIND_IMAGE und WAIT_IMAGE
makuroku stellt zwei typische Befehle bereit, um die Bilderkennung aus einem Skript heraus zu verwenden. FIND_IMAGE sucht danach, wo sich das betreffende Bild genau in diesem Moment auf dem Bildschirm befindet. Da die gefundenen Koordinaten in einer Variablen gespeichert werden können, eignet sich der Befehl beispielsweise dafür, eine Schaltfläche anzuklicken, deren Anzeigeposition nicht bekannt ist.
WAIT_IMAGE hingegen wartet darauf, dass das betreffende Bild angezeigt wird. Das Laden einer Webseite oder Starten einer Anwendung dauert eine gewisse Zeit. Wird die nächste Aktion ausgeführt, bevor dieser Vorgang abgeschlossen ist, schlägt sie fehl. Mit WAIT_IMAGE lässt sich die Automatisierung zuverlässig an den Bildschirmzustand anpassen, etwa indem erst fortgefahren wird, wenn ein Symbol für den Abschluss des Ladevorgangs erscheint. Durch die Kombination beider Befehle entsteht eine robuste Automatisierung, die mit den im Arbeitsalltag häufigen Schwankungen bei den Ausführungszeiten umgehen kann.
Situationen, in denen Bilderkennung besonders hilfreich ist
Die Bilderkennung spielt ihre Stärken in folgenden Situationen aus.
- • Apps, in denen sich die Position von Schaltflächen oder Fenstern jedes Mal ändert
- • Wenn erst nach Abschluss eines Lade- oder Verarbeitungsvorgangs fortgefahren werden soll
- • Bildschirme mit dynamischem Layout, die sich nicht vollständig über feste Koordinaten steuern lassen
- • Wenn ein bestimmtes Symbol oder ein bestimmter Zustand einen Vorgang auslösen soll
Allerdings hat auch die Bilderkennung ihre Grenzen. Bei Designs, deren Erscheinungsbild sich häufig ändert, sowie bei halbtransparenten oder animierten Elementen ist die Übereinstimmungserkennung oft instabil. Da außerdem der gesamte Bildschirm durchsucht wird, dauert die Verarbeitung geringfügig länger als bei der Angabe fester Koordinaten. Statt alles durch Bilderkennung zu ersetzen, sollte man beide Methoden gezielt einsetzen: „Koordinaten dort, wo sie ausreichen, und Bilderkennung nur dort, wo sich die Position ändert.“ Das ist der Schlüssel zu einer praxisnahen und schnellen Automatisierung.
Tipps zur optimalen Vorbereitung von Vorlagenbildern
Die Genauigkeit der Bilderkennung hängt stark von der Qualität des registrierten Vorlagenbildes ab. Dabei helfen einige Tipps. Schneiden Sie den Bereich, der als Erkennungsmerkmal dienen soll, zunächst „klein und charakteristisch“ aus. Erfassen Sie statt der gesamten Schaltfläche nur das für sie typische Symbol oder den charakteristischen Text, damit sie nicht so leicht mit anderen Elementen verwechselt wird. Ist der Ausschnitt dagegen zu groß, können bereits kleine Veränderungen in der Umgebung – etwa bei der Hintergrundfarbe oder einem benachbarten Element – dazu führen, dass keine Übereinstimmung gefunden wird.
Vermeiden Sie außerdem Bereiche, deren Farbe oder Zustand sich leicht ändert. Wenn Sie eine Schaltfläche, die beim Darüberfahren mit der Maus ihre Farbe ändert, oder einen im ausgewählten Zustand hervorgehobenen Bereich als Erkennungsmerkmal verwenden, kann die Übereinstimmung je nach Situation fehlschlagen. Wählen Sie einen stabilen Bereich, der stets gleich aussieht. Da sich mit dem Anzeigemaßstab auch die Bildgröße ändert, sollten Sie die Vorlage außerdem mit der Auflösung und Skalierung aufnehmen, die später tatsächlich verwendet werden. Die Summe solcher kleinen Vorkehrungen erhöht die Erfolgsquote der Bilderkennung erheblich.
Bilderkennung mit anderen Methoden kombinieren
Die Bilderkennung ist leistungsfähig, aber kein Allheilmittel. Für eine robuste Automatisierung im praktischen Einsatz sollten mehrere Methoden gezielt miteinander kombiniert werden. Bei Schaltflächen, deren Position sich überhaupt nicht ändert, reichen schnelle Koordinaten aus. Nur Schaltflächen mit wechselnder Position und Elemente, deren Anzeige einige Zeit dauert, werden der Bilderkennung überlassen. Sollen Textinformationen auf dem Bildschirm gelesen werden, kommt OCR (Texterkennung) zum Einsatz; für die Anbindung externer Dienste wird HTTP-Kommunikation verwendet. So wird je nach Ziel die passende Methode gewählt.
Mit makuroku lassen sich diese Methoden innerhalb eines einzigen Skripts frei kombinieren. So kann eine flexible, menschlichen Arbeitsschritten ähnliche Automatisierung als zusammenhängender Ablauf beschrieben werden: „Mit WAIT_IMAGE auf die Bereitschaft des Bildschirms warten, mit FIND_IMAGE eine Schaltfläche suchen und anklicken, mit OCR den Ergebniswert auslesen und den Ablauf anschließend per Bedingung verzweigen.“ Statt an einer einzigen Methode festzuhalten, sollten die jeweiligen Stärken gezielt kombiniert werden. Diese Denkweise ist der kürzeste Weg zu einer Automatisierung, die in der Praxis wirklich funktioniert.
Was tun, wenn die Bilderkennung nicht richtig funktioniert?
Wenn Sie mit der Bilderkennung beginnen, kann es vorkommen, dass ein vermeintlich registriertes Bild nicht gefunden wird. Dafür gibt es mehrere mögliche Ursachen. Am häufigsten unterscheiden sich die Anzeigeskalierung oder Auflösung beim Aufnehmen des Vorlagenbildes von den Einstellungen bei der eigentlichen Suche. Dadurch ändert sich die Bildgröße und es kommt zu keiner Übereinstimmung. Am zuverlässigsten ist es, die Vorlage mit denselben Einstellungen wie in der späteren Einsatzumgebung erneut aufzunehmen.
Die zweithäufigste Ursache ist ein zu strenger Übereinstimmungsschwellenwert. Wenn eine vollständige Übereinstimmung von 100 % verlangt wird, können bereits geringfügige Farbabweichungen oder Unterschiede beim Antialiasing dazu führen, dass das Bild nicht gefunden wird. Häufig wird die Erkennung stabiler, wenn Sie den Schwellenwert etwas senken und etwa 90 % Ähnlichkeit als Übereinstimmung werten. Ein zu niedriger Wert erhöht jedoch die Zahl der Fehlerkennungen. Testen Sie daher am tatsächlichen Bildschirm, um einen geeigneten Wert zu finden.
Wenn das Problem weiterhin besteht, sollten Sie den als Vorlage gewählten Bereich selbst überprüfen. Wenn Sie Bereiche mit häufig wechselndem Hintergrund oder Bereiche verwenden, die im ausgewählten Zustand hervorgehoben werden, verändert sich deren Aussehen je nach Situation und eine Übereinstimmung bleibt aus. Beschränken Sie die Vorlage auf einen charakteristischen, stabilen Bereich, der immer gleich aussieht – etwa ein eindeutiges Symbol oder Logo. Dadurch steigt die Erfolgsquote. Die Wahl eines leicht erkennbaren Merkmals ist der wichtigste Tipp für eine stabile Bilderkennung.
Die anfängliche Feinabstimmung der Bilderkennung erfordert zwar etwas Aufwand, doch sobald sie richtig eingerichtet ist, bietet sie eine Flexibilität, die sich mit festen Koordinaten nicht erreichen lässt. Selbst wenn ein Fenster verschoben oder das Layout geändert wird, reagiert sie präzise, solange das Erscheinungsbild gleich bleibt. Diese Robustheit schafft großes Vertrauen, wenn Automatisierungen im Arbeitsalltag langfristig eingesetzt werden sollen.
Praktisches Szenario mit Bilderkennung
Sehen wir uns die Leistungsfähigkeit der Bilderkennung anhand eines konkreten Szenarios an. Angenommen, der regelmäßige Download von Daten aus einer Webanwendung soll automatisiert werden. Bei dieser Anwendung verändert sich das Bildschirmlayout bei jeder Anmeldung geringfügig, und auch die Position der Download-Schaltfläche ist nicht konstant. Ein Makro mit festen Koordinaten kann auf diese Änderungen nicht reagieren und funktioniert schon bald nicht mehr.
Hier kommt die Bilderkennung ins Spiel. Zunächst wird das Symbol der Download-Schaltfläche als Vorlagenbild registriert. Das Makro wartet mit WAIT_IMAGE, bis die Seite vollständig geladen ist, sucht anschließend mit FIND_IMAGE auf dem Bildschirm nach der Download-Schaltfläche und klickt auf deren Position. Unabhängig davon, wo die Schaltfläche angezeigt wird, kann sie präzise gefunden und angeklickt werden, solange sie gleich aussieht. So entsteht eine stabile Automatisierung, die nicht von Layoutänderungen abhängig ist.
Wenn Sie außerdem mit WAIT_IMAGE warten, bis eine Meldung über den abgeschlossenen Download erscheint, bevor der nächste Verarbeitungsschritt beginnt, geht auch bei einer langsamen Verbindung nichts verloren. Die Bilderkennung integriert damit eine für Menschen selbstverständliche Beurteilung in die Automatisierung: den Bildschirmzustand zu prüfen und zum richtigen Zeitpunkt die richtige Stelle zu bedienen. Genau deshalb lassen sich selbst in der von Veränderungen geprägten realen Arbeitsumgebung robuste Automatisierungen erstellen.
Solche Szenarien lassen sich nicht nur auf Webanwendungen, sondern auch auf Desktopanwendungen, Geschäftssysteme und viele andere Bereiche übertragen. Selbst Aufgaben, deren Automatisierung bisher aufgegeben wurde, weil sich die Position ändert oder der Zeitpunkt nicht vorhersehbar ist, werden mithilfe der Bilderkennung automatisierbar. Denken Sie zunächst an eine Aufgabe, bei der Sie sich regelmäßig über eine verschobene Position geärgert haben, und versuchen Sie, sie mit Bilderkennung zu stabilisieren.
So erstellen Sie robuste Automatisierungen
Ob eine Automatisierung im Arbeitsalltag wirklich brauchbar ist, hängt davon ab, wie gut sie unerwartete Situationen verkraftet. Eine Automatisierung, die sich ausschließlich auf aufgezeichnete Koordinaten stützt, funktioniert beim ersten Mal vielleicht einwandfrei, bleibt aber häufig schon bei einer kleinen Änderung der Umgebung stehen. Durch die Kombination mit Bilderkennung lassen sich unbewusste menschliche Entscheidungen in die Automatisierung integrieren, etwa anhand des Erscheinungsbildes zu klicken oder zu warten, bis der Bildschirm bereit ist.
Zusätzlich zur Aufzeichnung über die GUI verfügt makuroku standardmäßig über Bilderkennungsbefehle wie FIND_IMAGE und WAIT_IMAGE. Zeichnen Sie zunächst die Bedienabläufe auf, um ein Grundgerüst zu erstellen, und ersetzen Sie anschließend nur die Stellen durch Bilderkennung, deren Position sich verändert oder an denen auf den richtigen Zeitpunkt gewartet werden muss. Mit dieser Kombination erstellen Sie Automatisierungen, die nicht schon an der ersten unerwarteten Situation scheitern, sondern der Unordnung realer Arbeitsumgebungen standhalten. Da Sie alle Funktionen kostenlos testen können, stabilisieren Sie doch zuerst mithilfe der Bilderkennung jene Aufgaben, bei denen Sie bislang immer wieder Probleme mit verschobenen Positionen hatten.
Kostenlos testen
Automatisieren Sie es mit makuroku
makuroku nimmt Maus und Tastatur auf und spielt sie automatisch ab. Fügen Sie SCR-Skripte und KI-(MCP-)Integration hinzu, wenn Sie mehr brauchen. Alle Funktionen unter Windows kostenlos.
Weitere Artikel