"""Kör de enskilda stegen i ett flöde. Själva grafvandringen (kanter, if/loop/ call_flow) ligger i rpa/graph_engine.py; run_flow() här är dispatchern som normaliserar indata (gammal {steps}-lista migreras) och sätter upp webbläsare/ trace/close-mode. `_execute_step` kör en enskild nod. Nodtyper (fält per typ): goto {url} wait {seconds} wait_for_load {} go_back {} -- webbläsarens "bakåt" (historik), t.ex. efter att ha klickat in på en post från en lista, för att fortsätta en loop wait_for_login {timeout} wait_for_selector {by, value, role?, scope?, nth?, timeout} click {by, value, role?, scope?, nth?} type {by, value, role?, scope?, nth?, text} -- skriver text i fält (fill) press_key {key, by?, value?, role?, scope?, nth?} -- utan by/value: tangent mot sidan select_option {by, value, role?, scope?, nth?, option} -- väljer alternativ i