Diwall

Deutsch
Herunterladen 1.24.4

Szenariogalerie

Die vier mit Diwall ausgelieferten Szenarien: was jedes tut, der genaue Befehl und die Ausgabe, die es tatsächlich erzeugt hat.

Ein Szenario ist eine JSON-Datei: eine Liste von Aktionen, in ihrer Reihenfolge. Es ist die Arbeitseinheit von Diwall – Sie werden welche schreiben, welche wiederverwenden und welche versionieren.

Diese vier werden mit dem Werkzeug ausgeliefert. Sie laufen auf einer frischen Installation ohne vorherige Konfiguration – bis auf das letzte, das ein verschlüsseltes Verzeichnis braucht.

1 · Lesen, ohne aufzunehmen

Das leichteste. Es wartet auf die Seite und liest dann ihren Titel – keine Aufnahme, keine Bildanalyse.

{"url": "https://example.com",
 "actions": [
   {"type": "attendre_selecteur_present", "selecteur": "body"},
   {"type": "evaluer", "script": "document.title"}]}
diwall-rpa --scenario /opt/diwall/scenarios/exemples/sondage_fast.json --guide-version 1.3
{"succes": true, "http_status": 200,
 "evaluations": [{"script": "document.title", "valeur": "Example Domain"}],
 "respect": {"actions_executees": 2, "duree_totale_ms": 1174}}

Zwei Aktionen, gut eine Sekunde. Das ist die Form der Wahl, wenn Sie nur wissen müssen, was eine Seite sagt.

2 · Sehen, dann per Nummer klicken

Dieselbe Seite, aber mit --som: Jedes interaktive Element wird nummeriert, und der Klick benennt eine Nummer statt eines Selektors.

{"actions": [
   {"type": "attendre_selecteur_present", "selecteur": "body"},
   {"type": "cliquer_som", "id": 1}]}
diwall-rpa --scenario /opt/diwall/scenarios/exemples/navigation_som.json --som --guide-version 1.3
{"succes": true, "http_status": 200,
 "respect": {"actions_executees": 2, "duree_totale_ms": 1160}}

Wie die Nummerierung funktioniert →

3 · Eine widerspenstige Seite diagnostizieren

Dasselbe Gerüst, anderer Zweck: Richten Sie es auf eine lokale Oberfläche, die sich sonderbar verhält, und lesen Sie erreurs_js und erreurs_console in der Antwort. Eine weiße Seite, hinter der ein stiller HTTP-500 steckt, sieht genauso aus wie eine abgelaufene Sitzung – die Konsole unterscheidet sie.

diwall-rpa --scenario /opt/diwall/scenarios/exemples/depannage_local.json --guide-version 1.3
{"succes": true, "http_status": 200, "erreurs_js": [], "erreurs_console": [],
 "evaluations": [{"script": "document.title", "valeur": "Example Domain"}]}

Hier leere Listen, weil example.com nichts zu melden hat. Setzen Sie Ihre eigene URL ein, und sie füllen sich.

4 · Sich aus dem verschlüsselten Verzeichnis anmelden

Das anschaulichste, und dasjenige, das die Seite eher schließt als öffnet: Es braucht ein eingehängtes, konfiguriertes verschlüsseltes Verzeichnis.

{"auth_indicator": ".user-menu",
 "actions": [
   {"type": "evaluer", "script": "document.title", "contient": "Example"},
   {"type": "remplir", "selecteur": "input[name=\"username\"]",
    "valeur": "depuis_secrets", "secret_cle": "username"},
   {"type": "remplir", "selecteur": "input[name=\"password\"]",
    "valeur": "depuis_secrets", "secret_cle": "password"},
   {"type": "cliquer", "selecteur": "button[type=\"submit\"]"},
   {"type": "attendre_selecteur_present", "selecteur": ".user-menu"}]}

Hier wird keine Ausgabe gezeigt, und das mit Absicht: Ohne dieses Verzeichnis läuft dieses Szenario nicht, und den Fehler abzudrucken, den es auslöst, bewiese nichts über die Funktion. Richten Sie zuerst eines ein und führen Sie es dann gegen ein eigenes Ziel aus.

Zwei Einzelheiten tragen das ganze Sicherheitsmodell. "valeur": "depuis_secrets" heißt, dass das Passwort im Browserprozess aufgelöst wird, nie in Ihrer Shell. Und die erste Aktion ist eine Zusicherung, kein Schritt: Ist die Seite nicht die erwartete, hält das Szenario an, bevor irgendwo irgendetwas getippt wird.

Die Galerie wächst aus echter Nutzung

Vier Szenarien sind ein bewusst bescheidener Anfang. journal.py --exporter-skill verwandelt eine erfolgreiche echte Ausführung in ein wiederverwendbares Szenario – die Galerie wächst im Takt der tatsächlichen Nutzung, nie durch Beispiele, die nur die Seite füllen sollen.