Purpose
Interact with a numbered zone on famma-dhaw.com and choose the "pas de lumiere" option.
When to Use
Use when the caller provides a zone number such as {zone-number} and wants the no-lighting option selected.
Workflow
- Navigate directly to
https://famma-dhaw.com/. - Set
input#searchto{zone-number}and dispatch a bubblinginputevent. This is more reliable than typing because the zone chooser is reactive:(() => { const el = document.querySelector('input#search'); el.value = String({zone-number}); el.dispatchEvent(new Event('input', {bubbles:true})); return el.value; })() - After the zone result is rendered, click
button.zrowfor the matching zone. - Click the resulting
button.vote.v-offcontrol, which represents the "pas de lumiere" option.
Use one browser-agent call to perform the navigation, input update, zone click, and vote click, waiting briefly only if the reactive zone result has not rendered.
Concrete control-state extractor for the loaded page:
(() => ({
search: document.querySelector("input#search")?.value ?? "",
zones: [...document.querySelectorAll("button.zrow")]
.filter((e) => {
const r = e.getBoundingClientRect();
return r.width > 0 && r.height > 0;
})
.map((e) => ({ text: e.innerText.trim(), disabled: e.disabled })),
noLightVotes: [...document.querySelectorAll("button.vote.v-off")]
.filter((e) => {
const r = e.getBoundingClientRect();
return r.width > 0 && r.height > 0;
})
.map((e) => ({ text: e.innerText.trim(), disabled: e.disabled })),
}))();Site-Specific Gotchas
- The zone search field is
input#search; setting its value without dispatching aninputevent may not update the zone list. - The zone result is a
button.zrow, not a conventional link. - The no-lighting vote control uses the combined class selector
button.vote.v-offand should be clicked only after selecting the zone. - These class selectors are implementation-specific; confirm visibility and enabled state if the page changes.
Expected Output
The selected {zone-number} zone has its "pas de lumiere" vote activated; report completion or any disabled/unavailable control.