Initial commit: Hermes Agent Skills collection
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 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 `<table>` with:
|
||||
- Column headers: `columnheader` cells ("SSID NAME", "SECURITY", "BAND", etc.)
|
||||
- Data rows: `cell` elements with text content
|
||||
|
||||
### Dialog Elements
|
||||
- Optimization Mode dialog appears as `PluginObject` with radio buttons labeled "Partial" and "Global"
|
||||
- Confirm/Cancel are `link` elements inside the dialog
|
||||
Reference in New Issue
Block a user