Diwall

Français
Télécharger 1.24.4

Galerie de scénarios

Les quatre scénarios livrés avec Diwall : ce que fait chacun, la commande exacte, et la sortie qu'il a réellement produite.

Un scénario est un fichier JSON : une liste d’actions, dans l’ordre. C’est l’unité de travail de Diwall — vous en écrirez, vous en réutiliserez, vous en versionnerez.

Ces quatre-là sont livrés avec l’outil. Ils fonctionnent sur une installation neuve, sans configuration préalable — sauf le dernier, qui demande un répertoire chiffré.

1 · Lire sans capturer

Le plus léger. Il attend la page, puis lit son titre — aucune capture, aucune analyse d’image.

{"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}}

Deux actions, un peu plus d’une seconde. C’est la forme à viser quand vous avez seulement besoin de savoir ce que dit une page.

2 · Voir, puis cliquer par numéro

La même page, mais avec --som : chaque élément interactif est numéroté, et le clic désigne un numéro plutôt qu’un sélecteur.

{"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}}

Comment fonctionne la numérotation →

3 · Diagnostiquer une page qui résiste

Même squelette, autre usage : pointez-le sur une interface locale qui se comporte mal et lisez erreurs_js et erreurs_console dans la réponse. Une page blanche masquant une erreur HTTP 500 ressemble exactement à une session expirée — c’est la console qui les distingue.

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"}]}

Listes vides ici, parce qu’example.com n’a rien à signaler. Remplacez l’URL par la vôtre et elles se remplissent.

4 · S'authentifier depuis le répertoire chiffré

Le plus démonstratif, et celui qui ferme la page au lieu de l’ouvrir : il demande un répertoire chiffré monté et configuré.

{"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"}]}

Aucune sortie n’est montrée ici, et c’est délibéré : sans ce répertoire, ce scénario ne s’exécute pas, et afficher l’erreur qu’il lève ne prouverait rien de la fonctionnalité. Configurez-en un d’abord, puis lancez-le sur une cible à vous.

Deux détails portent tout le modèle de sécurité. "valeur": "depuis_secrets" signifie que le mot de passe est résolu dans le processus du navigateur, jamais dans votre shell. Et la première action est une assertion, pas une étape : si la page n’est pas celle attendue, le scénario s’arrête avant de taper quoi que ce soit où que ce soit.

La galerie grandit par l'usage réel

Quatre scénarios, c’est un point de départ volontairement modeste. journal.py --exporter-skill transforme une exécution réelle réussie en scénario réutilisable — la galerie grossit au rythme des usages réels, jamais par des exemples fabriqués pour remplir la page.