This commit is contained in:
Josh at WLTechBlog
2025-09-30 14:11:27 -05:00
parent 86d1db55cd
commit a3c782eb24
11 changed files with 4904 additions and 6 deletions

View File

@@ -1034,6 +1034,300 @@ web_clear_storage_cremotemcp:
timeout: 5
```
### 34. `web_drag_and_drop_cremotemcp` *(New in Phase 6)*
Perform drag and drop operation from source element to target element.
**Parameters:**
- `source` (required): CSS selector for the source element to drag
- `target` (required): CSS selector for the target element to drop on
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Drag item to drop zone
web_drag_and_drop_cremotemcp:
source: ".draggable-item"
target: ".drop-zone"
timeout: 10
# Drag file to upload area
web_drag_and_drop_cremotemcp:
source: "#file-item"
target: "#upload-area"
tab: "tab-123"
```
### 35. `web_drag_and_drop_coordinates_cremotemcp` *(New in Phase 6)*
Perform drag and drop operation from source element to specific coordinates.
**Parameters:**
- `source` (required): CSS selector for the source element to drag
- `x` (required): Target X coordinate
- `y` (required): Target Y coordinate
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Drag item to specific coordinates
web_drag_and_drop_coordinates_cremotemcp:
source: ".draggable-item"
x: 300
y: 200
timeout: 10
# Drag widget to precise position
web_drag_and_drop_coordinates_cremotemcp:
source: "#dashboard-widget"
x: 150
y: 400
tab: "tab-123"
```
### 36. `web_drag_and_drop_offset_cremotemcp` *(New in Phase 6)*
Perform drag and drop operation from source element by relative offset.
**Parameters:**
- `source` (required): CSS selector for the source element to drag
- `offset_x` (required): Horizontal offset in pixels
- `offset_y` (required): Vertical offset in pixels
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Drag item by relative offset
web_drag_and_drop_offset_cremotemcp:
source: ".draggable-item"
offset_x: 100
offset_y: 50
timeout: 10
# Move element slightly to the right and down
web_drag_and_drop_offset_cremotemcp:
source: "#moveable-element"
offset_x: 25
offset_y: 25
tab: "tab-123"
```
### 37. `web_right_click_cremotemcp` *(New in Phase 7)*
Right-click on an element to open context menus.
**Parameters:**
- `selector` (required): CSS selector for the element to right-click
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Right-click to open context menu
web_right_click_cremotemcp:
selector: ".file-item"
timeout: 10
# Right-click on specific element
web_right_click_cremotemcp:
selector: "#document-title"
tab: "tab-123"
```
### 38. `web_double_click_cremotemcp` *(New in Phase 7)*
Double-click on an element for file operations or text selection.
**Parameters:**
- `selector` (required): CSS selector for the element to double-click
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Double-click to open file
web_double_click_cremotemcp:
selector: ".file-icon"
timeout: 10
# Double-click to select text
web_double_click_cremotemcp:
selector: ".text-content"
tab: "tab-123"
```
### 39. `web_hover_cremotemcp` *(New in Phase 7)*
Hover over an element to trigger tooltips or dropdowns.
**Parameters:**
- `selector` (required): CSS selector for the element to hover over
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Hover to show tooltip
web_hover_cremotemcp:
selector: ".tooltip-trigger"
timeout: 10
# Hover to open dropdown menu
web_hover_cremotemcp:
selector: ".nav-item"
tab: "tab-123"
```
### 40. `web_middle_click_cremotemcp` *(New in Phase 7)*
Middle-click on an element (typically opens links in new tabs).
**Parameters:**
- `selector` (required): CSS selector for the element to middle-click
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Middle-click to open link in new tab
web_middle_click_cremotemcp:
selector: "a[href='/dashboard']"
timeout: 10
# Middle-click on navigation link
web_middle_click_cremotemcp:
selector: ".nav-link"
tab: "tab-123"
```
### 41. `web_mouse_move_cremotemcp` *(New in Phase 7)*
Move mouse to specific coordinates without clicking.
**Parameters:**
- `x` (required): X coordinate to move mouse to
- `y` (required): Y coordinate to move mouse to
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Move mouse to specific position
web_mouse_move_cremotemcp:
x: 400
y: 300
timeout: 5
# Position mouse for subsequent action
web_mouse_move_cremotemcp:
x: 150
y: 200
tab: "tab-123"
```
### 42. `web_scroll_wheel_cremotemcp` *(New in Phase 7)*
Scroll with mouse wheel at specific coordinates.
**Parameters:**
- `x` (required): X coordinate for scroll wheel
- `y` (required): Y coordinate for scroll wheel
- `delta_y` (required): Vertical scroll delta (negative = up, positive = down)
- `delta_x` (optional): Horizontal scroll delta (negative = left, positive = right, default: 0)
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Scroll up at specific location
web_scroll_wheel_cremotemcp:
x: 400
y: 300
delta_y: -120
timeout: 5
# Scroll down with horizontal component
web_scroll_wheel_cremotemcp:
x: 500
y: 400
delta_x: 50
delta_y: 120
tab: "tab-123"
```
### 43. `web_key_combination_cremotemcp` *(New in Phase 7)*
Send key combinations like Ctrl+C, Alt+Tab, Shift+Enter.
**Parameters:**
- `keys` (required): Key combination to send (e.g., 'Ctrl+C', 'Alt+Tab', 'Shift+Enter', 'Ctrl+Shift+T')
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Copy selected text
web_key_combination_cremotemcp:
keys: "Ctrl+C"
timeout: 5
# Open new tab
web_key_combination_cremotemcp:
keys: "Ctrl+T"
tab: "tab-123"
# Select all text
web_key_combination_cremotemcp:
keys: "Ctrl+A"
```
### 44. `web_special_key_cremotemcp` *(New in Phase 7)*
Send special keys like Enter, Escape, Tab, F1-F12, Arrow keys.
**Parameters:**
- `key` (required): Special key to send (e.g., 'Enter', 'Escape', 'Tab', 'F1', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown', 'Delete', 'Backspace')
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Press Enter key
web_special_key_cremotemcp:
key: "Enter"
timeout: 5
# Navigate with arrow keys
web_special_key_cremotemcp:
key: "ArrowDown"
tab: "tab-123"
# Press Escape to close dialog
web_special_key_cremotemcp:
key: "Escape"
```
### 45. `web_modifier_click_cremotemcp` *(New in Phase 7)*
Click on an element with modifier keys (Ctrl+click, Shift+click).
**Parameters:**
- `selector` (required): CSS selector for the element to click
- `modifiers` (required): Modifier keys to hold while clicking (e.g., 'Ctrl', 'Shift', 'Alt', 'Ctrl+Shift', 'Ctrl+Alt')
- `tab` (optional): Tab ID (uses current tab if not specified)
- `timeout` (optional): Timeout in seconds (default: 5)
**Example Usage:**
```
# Ctrl+click for multi-selection
web_modifier_click_cremotemcp:
selector: ".selectable-item"
modifiers: "Ctrl"
timeout: 10
# Shift+click for range selection
web_modifier_click_cremotemcp:
selector: ".list-item:nth-child(5)"
modifiers: "Shift"
tab: "tab-123"
# Ctrl+Shift+click for extended selection
web_modifier_click_cremotemcp:
selector: ".table-row"
modifiers: "Ctrl+Shift"
```
## Common Usage Patterns
### 1. Basic Web Navigation
@@ -1737,10 +2031,110 @@ get_partial_accessibility_tree_cremotemcp:
- Test screen reader compatibility by analyzing semantic structure
- Build more robust automation using ARIA roles and accessible names
### Advanced Input Operation Testing *(Phase 7 Patterns)*
```
# Test context menu workflows
web_right_click_cremotemcp:
selector: ".file-item"
timeout: 5
web_interact_cremotemcp:
action: "click"
selector: ".context-menu .delete"
timeout: 5
# Test hover-triggered dropdowns
web_hover_cremotemcp:
selector: ".nav-item"
timeout: 5
web_interact_cremotemcp:
action: "click"
selector: ".dropdown-item"
timeout: 5
# Test keyboard navigation accessibility
web_special_key_cremotemcp:
key: "Tab"
timeout: 5
web_special_key_cremotemcp:
key: "Enter"
timeout: 5
# Test copy/paste workflows
web_key_combination_cremotemcp:
keys: "Ctrl+A"
timeout: 5
web_key_combination_cremotemcp:
keys: "Ctrl+C"
timeout: 5
web_interact_cremotemcp:
action: "click"
selector: "#target-input"
timeout: 5
web_key_combination_cremotemcp:
keys: "Ctrl+V"
timeout: 5
# Test multi-selection with modifier clicks
web_modifier_click_cremotemcp:
selector: ".item:nth-child(1)"
modifiers: "Ctrl"
timeout: 5
web_modifier_click_cremotemcp:
selector: ".item:nth-child(3)"
modifiers: "Ctrl"
timeout: 5
web_modifier_click_cremotemcp:
selector: ".item:nth-child(5)"
modifiers: "Ctrl"
timeout: 5
# Test precise mouse wheel scrolling
web_scroll_wheel_cremotemcp:
x: 400
y: 300
delta_y: -240 # Scroll up 2 notches
timeout: 5
# Test middle-click for new tabs
web_middle_click_cremotemcp:
selector: "a[href='/dashboard']"
timeout: 5
# Test double-click for text selection
web_double_click_cremotemcp:
selector: ".editable-text"
timeout: 5
```
### Advanced Drag & Drop Testing *(Phase 6 Patterns)*
```
# Test sortable list reordering
web_drag_and_drop_cremotemcp:
source: ".list-item:first-child"
target: ".list-item:last-child"
timeout: 10
# Test file upload via drag and drop
web_drag_and_drop_coordinates_cremotemcp:
source: ".file-item"
x: 400
y: 300 # Drop zone coordinates
timeout: 15
# Test dashboard widget repositioning
web_drag_and_drop_offset_cremotemcp:
source: ".widget"
offset_x: 200
offset_y: 100
timeout: 10
```
## 🎉 Production Ready
This comprehensive web automation platform provides **31 tools** across 6 enhancement phases, optimized specifically for LLM agents and production workflows. All tools include proper error handling, timeout management, and structured responses for reliable automation.
This comprehensive web automation platform provides **45 tools** across 7 enhancement phases, optimized specifically for LLM agents and production workflows. All tools include proper error handling, timeout management, and structured responses for reliable automation.
**Latest Enhancement - Phase 7**: Advanced input operations including right-click context menus, hover interactions, keyboard combinations, modifier clicks, precise mouse control, and mouse wheel scrolling for comprehensive testing of modern interactive web applications.
---
**Ready for Production**: Complete web automation platform with 31 tools, designed for maximum efficiency and reliability in LLM-driven workflows.
**Ready for Production**: Complete web automation platform with 45 tools, designed for maximum efficiency and reliability in LLM-driven workflows.