# Omada Controller Navigation CSS Structure ## Top-Level Dropdown (Outside Iframe) ### System Type Selector - Container: `.ant-dropdown-menu.ant-dropdown-menu-root` - Items: `.ant-dropdown-menu-item` - Selected: `.ant-dropdown-menu-item-selected` - Options: "On Premise Systems", "Cloud Based Systems" ## Site Iframe Navigation Classes ### Menu Item Levels | Level | CSS Class | Purpose | |-------|----------|---------| | Section title | `li.title` | "Management", "Monitoring", "Configuration", "Maintenance" | | Level 1 (main) | `li.navigator-li.navigator-li-level1.navigator-li-effective` | Dashboard, Devices, Clients, etc. | | Level 1 with submenu | `li.navigator-li.navigator-li-level1.has-sub-navi` | "Network Config", "Device Config" | | Level 2 | `li.navigator-li.navigator-li-level2.has-sub-navi` | "General Settings", "Network Settings", etc. | | Level 3 (leaf) | `li.navigator-li.navigator-li-level3.navigator-li-effective` | Individual config pages (WLAN, LAN, Internet...) | ### Finding Specific Menu Items ```javascript // IIFE required to avoid re-declaration errors (function(){ const fr = document.querySelector('iframe'); if (!fr || !fr.contentDocument) return 'no iframe'; const items = fr.contentDocument.querySelectorAll('li'); for (const item of items) { if (item.textContent.trim() === 'WLAN') { item.click(); return 'clicked WLAN'; } } return 'not found'; })() ``` ### WLAN Tab Elements Inside WLAN view, tabs are plain `StaticText` spans: - `"SSID"` — SSID list view - `"WLAN Optimization"` — optimization view - `"Optimization History"` — history view Click these via `browser_console` by matching `textContent.trim()` with `children.length <= 1`. ### Table Structure SSID table uses standard `