Dinoer

Galería de escenarios

Los cuatro escenarios de ejemplo que incluye Dinoer: qué hace cada uno, el comando y la salida de una ejecución real del 14 de agosto de 2026.

Un escenario es un archivo JSON: una dirección de partida y una lista de acciones, en orden. Es la unidad de trabajo del núcleo de navegación.

Estos cuatro vienen en scenarios/. Los tres primeros funcionan en una instalación nueva, sin configuración; el cuarto necesita un directorio cifrado.

1 · Leer sin cambiar nada

scenarios/exemples/sondage_fast.json espera a la página y después lee su título. Nada cambia en el objetivo.

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

Dos acciones, 2,8 segundos. La forma que conviene cuando solo necesita saber qué dice una página.

2 · Examinar una página antes de modificarla

scenarios/diagnostic_dom.json enumera los botones y campos de una página, detecta si funcionan React, Vue o Angular y busca raíces shadow, sin modificar nada. Escriba un escenario que actúe sobre la página a partir de su salida, no de memoria.

/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}}

Las listas están vacías porque example.com no tiene ni botones ni campos. En un objetivo real dan los selectores y atributos para el siguiente escenario.

3 · Diagnosticar una página que falla

scenarios/exemples/depannage_local.json tiene las mismas acciones que el primer escenario, con otro fin: diríjalo a una interfaz en desarrollo (--url sustituye la dirección del archivo) y lea erreurs_js y erreurs_console, presentes en cada respuesta y vacíos cuando nada ha fallado. Una página en blanco con un error HTTP 500 silencioso detrás parece una sesión caducada; la consola permite distinguirlas.

/opt/dinoer/venv/bin/python3 /opt/dinoer/rpa.py \
  --scenario scenarios/exemples/depannage_local.json \
  --url http://localhost:8000/ --guide-version 1.6

4 · Iniciar sesión desde el directorio cifrado

scenarios/exemples/rpa_securise.json necesita un directorio cifrado montado y configurado, así que aquí no se muestra ninguna salida.

{"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" significa que la contraseña se lee dentro del proceso del navegador, nunca en su shell. La primera acción es una comprobación: si el título de la página no contiene «Example», el escenario se detiene antes de escribir nada.

Sus propios escenarios

Escríbalos a partir de una página que haya leído antes. Escribir un escenario →