Szenario-Galerie
Die vier Beispielszenarien, die Dinoer mitbringt: was jedes tut, der Befehl und die Ausgabe eines echten Laufs vom 14. August 2026.
Ein Szenario ist eine JSON-Datei: eine Startadresse und eine Liste von Aktionen, der Reihe nach. Es ist die Arbeitseinheit des Browserkerns.
Diese vier liegen in scenarios/. Die ersten drei laufen auf einer frischen
Installation ohne Konfiguration; das vierte braucht ein verschlüsseltes
Verzeichnis.
1 · Lesen, ohne etwas zu ändern
scenarios/exemples/sondage_fast.json wartet auf die Seite und liest dann
ihren Titel. Auf dem Ziel ändert sich nichts.
{"url": "https://example.com",
"actions": [
{"type": "attendre_selecteur_present", "selecteur": "body"},
{"type": "evaluer", "script": "document.title"}]}
/opt/dinoer/venv/bin/python3 /opt/dinoer/rpa.py \
--scenario scenarios/exemples/sondage_fast.json --guide-version 1.6
{"succes": true, "http_status": 200,
"evaluations": [{"script": "document.title", "valeur": "Example Domain"}],
"respect": {"actions_executees": 2, "duree_totale_ms": 2762}}
Zwei Aktionen, 2,8 Sekunden. Die Form für den Fall, dass Sie nur wissen müssen, was auf einer Seite steht.
2 · Eine Seite erfassen, bevor man sie ändert
scenarios/diagnostic_dom.json listet die Schaltflächen und Eingabefelder
einer Seite auf, erkennt, ob React, Vue oder Angular laufen, und sucht nach
Shadow Roots, ohne etwas zu ändern. Schreiben Sie ein Szenario, das auf der
Seite handelt, anhand dieser Ausgabe, nicht aus dem Gedächtnis.
/opt/dinoer/venv/bin/python3 /opt/dinoer/rpa.py \
--scenario scenarios/diagnostic_dom.json --guide-version 1.6
{"succes": true, "http_status": 200,
"evaluations": [
{"script": "…querySelectorAll('button')…", "valeur": "[]"},
{"script": "…React/Vue/Angular…",
"valeur": "{\"React\":false,\"Vue\":false,\"Angular\":false}"}],
"respect": {"actions_executees": 6, "duree_totale_ms": 5933}}
Die Listen sind leer, weil example.com weder Schaltflächen noch
Eingabefelder hat. Bei einem echten Ziel liefern sie die Selektoren und
Attribute für das nächste Szenario.
3 · Eine Seite untersuchen, die nicht funktioniert
scenarios/exemples/depannage_local.json hat dieselben Aktionen wie das erste
Szenario, für einen anderen Zweck: Richten Sie es auf eine Oberfläche in
Entwicklung (--url ersetzt die Adresse in der Datei) und lesen Sie
erreurs_js und erreurs_console, die in jeder Antwort stehen und leer sind,
wenn nichts schiefging. Eine leere Seite mit einem stillen HTTP-500 dahinter
sieht aus wie eine abgelaufene Sitzung; die Konsole unterscheidet beides.
/opt/dinoer/venv/bin/python3 /opt/dinoer/rpa.py \
--scenario scenarios/exemples/depannage_local.json \
--url http://localhost:8000/ --guide-version 1.6
4 · Mit dem verschlüsselten Verzeichnis anmelden
scenarios/exemples/rpa_securise.json braucht ein eingehängtes, konfiguriertes
verschlüsseltes Verzeichnis; deshalb ist hier keine Ausgabe zu sehen.
{"auth_indicator": ".user-menu",
"url": "https://example.com/login",
"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"}]}
"valeur": "depuis_secrets" bedeutet, dass das Passwort im Browser-Prozess
gelesen wird, nie in Ihrer Shell. Die erste Aktion ist eine Prüfung: Enthält
der Seitentitel nicht „Example“, hält das Szenario an, bevor irgendetwas
eingetippt wird.
Ihre eigenen Szenarien
Schreiben Sie sie anhand einer Seite, die Sie vorher gelesen haben. Ein Szenario schreiben →