Ursprünglich schien es geplant zu sein, WinActor vor Ort einzusetzen. Ich hatte eine Zeit lang einen Vertrag, konnte aber die Investition nicht zurückerhalten, sodass ich das gesamte Budget von RPA einschließlich WinActor gekürzt habe. Infolgedessen haben wir uns entschlossen, mit RPA mit den notwendigen Kosten von 0 Yen fortzufahren. Dieses Mal werde ich über den Kampf um die Realisierung des automatischen Betriebs der GUI schreiben.
Es gibt verschiedene Arten der Automatisierung von GUI-Vorgängen. Das erste, worauf ich ankam, war die Bildauthentifizierung mit Pyautogui + Tastatur / Maus. Dies wird auf jeden Fall die Tastatur und Maus bedienen, aber Ich bin mir nicht sicher, ob sie den Bildschirm wirklich bedienen.
Wenn Sie eine Bildauthentifizierung hinzufügen, erhöht sich die Genauigkeit erheblich. Dies hat jedoch auch seine Nachteile. ・ Langsam, da der Vorgang darin besteht, auf dem Bildschirm nach dem angegebenen Bild zu suchen. ・ Es reagiert nicht, wenn das Hintergrundbild des Desktops geändert wird. ・ Der Vorgang ändert sich mit einem zu durchsuchenden Bild
Ich suchte nach etwas Stabilerem und fand es. Es ist "UI Automation" Aus folgenden Gründen abgelehnt ・ Ich persönlich codiere nicht gern ・ Die Menge an Informationen ist gering (ich persönlich hatte das Gefühl, dass ...)
Von dort sammelte ich verschiedene Informationen und kam zu ihnen. "Windows App Driver" (WAD, weil es lang ist) Im Folgenden sind die Gründe für die Annahme aufgeführt -Coding sieht ähnlich aus wie Selen └ Jeder kann es benutzen, wenn er sich an Selen erinnert. Und umgekehrt ・ Die Informationen sind relativ neu und können leicht gefunden werden, wenn Sie sie nachschlagen.
Ähnlich wie bei VB.net, JQuery usw. Dieser Typ ergänzt das Ziel und gibt die ID der Operationsaktion und andere Attribute an.
Grundsätzlich funktioniert es, wenn Sie den Inhalt der folgenden URL ausführen. https://arakan-pgm-ai.hatenablog.com/entry/2019/08/19/000000
Zunächst müssen Sie der Ausführungsumgebung die Berechtigung "Entwicklermodus" erteilen. Daher wurde die Option, einen persönlichen PC als Ausführungsumgebung auszuwählen, schnell beseitigt.
Ich habe mich für Windows 10 in einer virtuellen Umgebung entschieden (Wenn eine virtuelle Umgebung nicht vorbereitet werden kann, ist auch ein PC akzeptabel, der als Ersatz für einen PC zurückgezogen wurde.)
Ein weiterer Zweck besteht darin, zu verhindern, dass Menschen mit Ressourcen wie Zwischenablagen, Mäusen und Tastaturen konkurrieren. Dies erleichtert auch die Wartung.
Bei 10 Mitarbeitern muss es möglicherweise auf 10 PCs installiert werden. Wenn sich mehrere Mitarbeiter versammeln, befolgen einige Personen möglicherweise nicht die Vorsichtsmaßnahmen. Selbst wenn es nur einen Arbeiter gibt, gibt es verschiedene Dinge, wie zum Beispiel den Wechsel der verantwortlichen Person. Wir verwenden die Methode zum Erstellen und Betreiben einer Umgebung, die Mitarbeiter nicht berühren können.
Wie führe ich ein automatisiertes Programm aus? Dies ist am einfachsten zu verwenden, z. B. ein Taskplaner. Hier gibt es verschiedene Maßnahmen, daher werde ich später darauf zurückkommen.
Mit zunehmender Verbreitung der Automatisierung mit WAD werden andere Programmierer diese Umgebung verwenden. Dann werden selbst diejenigen, die es nicht gut verstehen, es verwenden, indem sie das Erscheinungsbild imitieren. Als das passierte, schloss ich den schwarzen Bildschirm ... Es ist etwas, was Sie tun In diesem Fall, auch wenn Sie den Start mit dem Taskplaner usw. einstellen. Es bewegt sich nicht, weil WAD gestoppt ist.
Die einfachste Gegenmaßnahme wäre, sie so zu starten, dass der schwarze Bildschirm nicht angezeigt wird. Der folgende Code sollte in Shell platziert werden: Start
wad.vbs
dim ws
Set ws = CreateObject("Wscript.Shell")
ws.Run """C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe""", 0
Da es nicht betrieben werden kann, installieren wir die Anwendung, die lokal betrieben werden soll. Wie Sie dem GUI-Recherchetool entnehmen können, wenn Sie versuchen, über VNC oder Xen zu arbeiten Sie können nur Informationen zum Campus-Teil des VNC- oder Xen-Bildschirms abrufen.
Verwenden Sie pyperclip, um die Zeichenfolge einzugeben, die in die Zwischenablage eingegeben werden soll Senden Sie Strg + V zum Einfügen in das Textfeld.
Es verhält sich wie das Drücken der Tastatur, also bei der Eingabe langer Sätze Die Betriebsgeschwindigkeit ist langsamer.
Es ist eine Voraussetzung Der folgende Code funktioniert wie das Starten eines Taschenrechners und das Ergänzen der App des Taschenrechners.
desired_caps["app"] = "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"
aus diesem Grund Sie können die App nicht ergänzen, indem Sie den Batch-Pfad in gewünschten_Caps ["App"] angeben.
subprocess.Popen(['start',Stapelverknüpfungspfad], shell=True)
#Natürlich sollte der Explorer sowohl gut als auch gut sein.
desired_caps["app"] = "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"
↓
desired_caps["app"] = "Root"
Dies ergänzt den Desktop selbst.
Wenn die beiden oben genannten Bedingungen erfüllt sind Läuft die Anwendung mit dem Windtitel "●●●" auf dem Desktop? Sie können dies bestätigen. ● Warten Sie eine Sekunde, und wenn Sie sie nicht finden können, können Sie einen Fehler machen / starten und weiterarbeiten.
Sie können auch nach Überprüfung des Attributwerts wie in einem Textfeld usw. arbeiten. Einige sind ziemlich kompliziert.
Als Gegenmaßnahme Nach Überprüfung des Windtitels Dies kann leicht erreicht werden, indem es mit der Tastaturbedienung von pyautogui kombiniert wird.
Ich denke, dass die meisten Dinge durch so viel getan werden können. Lassen Sie uns beim nächsten Mal den Bereich um den automatischen Betrieb des WEB zusammenfassen.
Recommended Posts