Initial commit
This commit is contained in:
772
skills/mcp-chrome-devtools/reference/all-tools.md
Normal file
772
skills/mcp-chrome-devtools/reference/all-tools.md
Normal file
@@ -0,0 +1,772 @@
|
||||
# Complete Tool Reference
|
||||
|
||||
Alphabetical listing of all 26 chrome-devtools tools with full parameters and examples.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [click](#click)
|
||||
- [close_page](#close_page)
|
||||
- [drag](#drag)
|
||||
- [emulate](#emulate)
|
||||
- [evaluate_script](#evaluate_script)
|
||||
- [fill](#fill)
|
||||
- [fill_form](#fill_form)
|
||||
- [get_console_message](#get_console_message)
|
||||
- [get_network_request](#get_network_request)
|
||||
- [handle_dialog](#handle_dialog)
|
||||
- [hover](#hover)
|
||||
- [list_console_messages](#list_console_messages)
|
||||
- [list_network_requests](#list_network_requests)
|
||||
- [list_pages](#list_pages)
|
||||
- [navigate_page](#navigate_page)
|
||||
- [new_page](#new_page)
|
||||
- [performance_analyze_insight](#performance_analyze_insight)
|
||||
- [performance_start_trace](#performance_start_trace)
|
||||
- [performance_stop_trace](#performance_stop_trace)
|
||||
- [press_key](#press_key)
|
||||
- [resize_page](#resize_page)
|
||||
- [select_page](#select_page)
|
||||
- [take_screenshot](#take_screenshot)
|
||||
- [take_snapshot](#take_snapshot)
|
||||
- [upload_file](#upload_file)
|
||||
- [wait_for](#wait_for)
|
||||
|
||||
---
|
||||
|
||||
## click
|
||||
|
||||
Clicks on an element identified by its UID.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--uid UID` - Element unique identifier from snapshot
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--dblClick BOOLEAN` - Double click instead of single click (default: false)
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Single click
|
||||
node scripts/click.js --uid button_submit_abc123
|
||||
|
||||
# Double click
|
||||
node scripts/click.js --uid file_icon_xyz789 --dblClick true
|
||||
```
|
||||
|
||||
**Related Tools:** hover, fill, take_snapshot
|
||||
|
||||
---
|
||||
|
||||
## close_page
|
||||
|
||||
Closes a page by its index. Cannot close the last remaining page.
|
||||
|
||||
**Group:** Page Management
|
||||
|
||||
**Required Parameters:**
|
||||
- `--pageIdx NUMBER` - Index of page to close (from list_pages)
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/close_page.js --pageIdx 2
|
||||
```
|
||||
|
||||
**Notes:** Always keep at least one page open. Close pages from highest to lowest index to avoid index shifting.
|
||||
|
||||
**Related Tools:** list_pages, new_page, select_page
|
||||
|
||||
---
|
||||
|
||||
## drag
|
||||
|
||||
Drags one element onto another element.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--from-uid UID` - UID of element to drag
|
||||
- `--to-uid UID` - UID of target drop zone
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/drag.js --from-uid task_item_abc --to-uid dropzone_xyz
|
||||
```
|
||||
|
||||
**Related Tools:** hover, click, take_snapshot
|
||||
|
||||
---
|
||||
|
||||
## emulate
|
||||
|
||||
Emulates network conditions and CPU throttling.
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--networkConditions JSON` - Network throttling config
|
||||
- `--cpuThrottlingRate NUMBER` - CPU throttling multiplier (1 = normal)
|
||||
|
||||
**Network Conditions Format:**
|
||||
```json
|
||||
{
|
||||
"downloadThroughput": 50000,
|
||||
"uploadThroughput": 50000,
|
||||
"latency": 2000
|
||||
}
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Slow 3G
|
||||
node scripts/emulate.js --networkConditions '{"downloadThroughput":50000,"uploadThroughput":50000,"latency":2000}'
|
||||
|
||||
# 4x CPU slowdown
|
||||
node scripts/emulate.js --cpuThrottlingRate 4
|
||||
|
||||
# Combined
|
||||
node scripts/emulate.js --networkConditions '{"downloadThroughput":100000,"uploadThroughput":50000,"latency":100}' --cpuThrottlingRate 2
|
||||
|
||||
# Reset to normal
|
||||
node scripts/emulate.js --cpuThrottlingRate 1
|
||||
```
|
||||
|
||||
**Common Presets:**
|
||||
- Slow 3G: 50KB/s down, 50KB/s up, 2000ms latency
|
||||
- Fast 3G: 180KB/s down, 84KB/s up, 562ms latency
|
||||
- 4G: 1.6MB/s down, 750KB/s up, 150ms latency
|
||||
|
||||
**Related Tools:** performance_start_trace, performance_stop_trace
|
||||
|
||||
---
|
||||
|
||||
## evaluate_script
|
||||
|
||||
Executes JavaScript in the page context and returns JSON-serializable results.
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**Required Parameters:**
|
||||
- `--function STRING` - JavaScript function as string
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--args JSON_ARRAY` - Function arguments as JSON array
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Simple extraction
|
||||
node scripts/evaluate_script.js --function "() => document.title"
|
||||
|
||||
# With parameters
|
||||
node scripts/evaluate_script.js --function "(x, y) => x + y" --args '[5, 3]'
|
||||
|
||||
# Extract array of data
|
||||
node scripts/evaluate_script.js --function "() => Array.from(document.querySelectorAll('h2')).map(h => h.textContent)"
|
||||
|
||||
# Complex object extraction
|
||||
node scripts/evaluate_script.js --function "() => ({title: document.title, links: document.querySelectorAll('a').length})"
|
||||
```
|
||||
|
||||
**Important:** Return values must be JSON-serializable (no DOM nodes, functions, or circular references).
|
||||
|
||||
**Related Tools:** take_snapshot, wait_for
|
||||
|
||||
---
|
||||
|
||||
## fill
|
||||
|
||||
Types text into inputs/textareas or selects dropdown options.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--uid UID` - Element unique identifier
|
||||
- `--value STRING` - Text to type or option to select
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Text input
|
||||
node scripts/fill.js --uid input_username_abc --value "john.doe"
|
||||
|
||||
# Textarea
|
||||
node scripts/fill.js --uid textarea_comment_def --value "This is a long comment"
|
||||
|
||||
# Dropdown select
|
||||
node scripts/fill.js --uid select_country_ghi --value "United States"
|
||||
```
|
||||
|
||||
**Related Tools:** fill_form, click, take_snapshot
|
||||
|
||||
---
|
||||
|
||||
## fill_form
|
||||
|
||||
Fills multiple form fields at once.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--elements JSON_ARRAY` - Array of {uid, value} objects
|
||||
|
||||
**Format:**
|
||||
```json
|
||||
[
|
||||
{"uid": "input_email", "value": "test@example.com"},
|
||||
{"uid": "input_password", "value": "secret123"}
|
||||
]
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/fill_form.js --elements '[{"uid":"input_email","value":"test@example.com"},{"uid":"input_password","value":"secret123"}]'
|
||||
|
||||
# Multi-line for readability (bash)
|
||||
node scripts/fill_form.js --elements '[
|
||||
{"uid":"input_name","value":"John Doe"},
|
||||
{"uid":"input_email","value":"john@example.com"},
|
||||
{"uid":"select_country","value":"USA"}
|
||||
]'
|
||||
```
|
||||
|
||||
**Related Tools:** fill, click, take_snapshot
|
||||
|
||||
---
|
||||
|
||||
## get_console_message
|
||||
|
||||
Retrieves a specific console message by ID.
|
||||
|
||||
**Group:** Inspection & Debugging
|
||||
|
||||
**Required Parameters:**
|
||||
- `--msgid STRING` - Message ID from list_console_messages
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/get_console_message.js --msgid msg_abc123
|
||||
```
|
||||
|
||||
**Related Tools:** list_console_messages
|
||||
|
||||
---
|
||||
|
||||
## get_network_request
|
||||
|
||||
Gets details of a specific network request.
|
||||
|
||||
**Group:** Inspection & Debugging
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--reqid STRING` - Request ID from list_network_requests (if omitted, returns currently selected request in DevTools)
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Specific request
|
||||
node scripts/get_network_request.js --reqid req_abc123
|
||||
|
||||
# Currently selected in DevTools
|
||||
node scripts/get_network_request.js
|
||||
```
|
||||
|
||||
**Output includes:** URL, method, status code, headers, request/response body, timing.
|
||||
|
||||
**Related Tools:** list_network_requests
|
||||
|
||||
---
|
||||
|
||||
## handle_dialog
|
||||
|
||||
Handles browser dialogs (alert, confirm, prompt).
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**Required Parameters:**
|
||||
- `--action STRING` - Either "accept" or "dismiss"
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--promptText STRING` - Text to enter in prompt dialog (only for prompts)
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Accept alert
|
||||
node scripts/handle_dialog.js --action accept
|
||||
|
||||
# Dismiss confirm
|
||||
node scripts/handle_dialog.js --action dismiss
|
||||
|
||||
# Accept prompt with input
|
||||
node scripts/handle_dialog.js --action accept --promptText "My Answer"
|
||||
```
|
||||
|
||||
**Notes:** Dialog must already be open when calling this tool.
|
||||
|
||||
**Related Tools:** click, wait_for
|
||||
|
||||
---
|
||||
|
||||
## hover
|
||||
|
||||
Hovers the mouse over an element.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--uid UID` - Element unique identifier
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/hover.js --uid tooltip_trigger_abc
|
||||
|
||||
# Common pattern: hover then click
|
||||
node scripts/hover.js --uid menu_trigger_xyz
|
||||
node scripts/click.js --uid menu_item_settings
|
||||
```
|
||||
|
||||
**Use Cases:** Triggering tooltips, dropdown menus, hover effects.
|
||||
|
||||
**Related Tools:** click, take_snapshot
|
||||
|
||||
---
|
||||
|
||||
## list_console_messages
|
||||
|
||||
Lists console messages (logs, warnings, errors) from the current page.
|
||||
|
||||
**Group:** Inspection & Debugging
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--pageSize NUMBER` - Number of messages per page
|
||||
- `--pageIdx NUMBER` - Page index for pagination (0-based)
|
||||
- `--types STRING` - Comma-separated types: log,warn,error,info
|
||||
- `--includePreservedMessages BOOLEAN` - Include messages from before current navigation
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# All messages
|
||||
node scripts/list_console_messages.js
|
||||
|
||||
# Only errors
|
||||
node scripts/list_console_messages.js --types error
|
||||
|
||||
# Errors and warnings
|
||||
node scripts/list_console_messages.js --types error,warn
|
||||
|
||||
# Paginated
|
||||
node scripts/list_console_messages.js --pageSize 10 --pageIdx 0
|
||||
```
|
||||
|
||||
**Related Tools:** get_console_message
|
||||
|
||||
---
|
||||
|
||||
## list_network_requests
|
||||
|
||||
Lists network requests made by the current page.
|
||||
|
||||
**Group:** Inspection & Debugging
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--pageSize NUMBER` - Number of requests per page
|
||||
- `--pageIdx NUMBER` - Page index for pagination (0-based)
|
||||
- `--resourceTypes STRING` - Comma-separated types: fetch,xhr,document,script,stylesheet,image
|
||||
- `--includePreservedRequests BOOLEAN` - Include requests from before current navigation
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# All requests
|
||||
node scripts/list_network_requests.js
|
||||
|
||||
# Only API calls
|
||||
node scripts/list_network_requests.js --resourceTypes fetch,xhr
|
||||
|
||||
# Only scripts and stylesheets
|
||||
node scripts/list_network_requests.js --resourceTypes script,stylesheet
|
||||
|
||||
# Paginated
|
||||
node scripts/list_network_requests.js --pageSize 20 --pageIdx 0
|
||||
```
|
||||
|
||||
**Related Tools:** get_network_request
|
||||
|
||||
---
|
||||
|
||||
## list_pages
|
||||
|
||||
Lists all open browser pages with their indices and URLs.
|
||||
|
||||
**Group:** Page Management
|
||||
|
||||
**No Parameters**
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/list_pages.js
|
||||
```
|
||||
|
||||
**Output Example:**
|
||||
```
|
||||
Page 0: https://example.com (selected)
|
||||
Page 1: https://google.com
|
||||
Page 2: https://github.com
|
||||
```
|
||||
|
||||
**Related Tools:** new_page, select_page, close_page
|
||||
|
||||
---
|
||||
|
||||
## navigate_page
|
||||
|
||||
Navigates the currently selected page.
|
||||
|
||||
**Group:** Page Management
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--url STRING` - URL to navigate to
|
||||
- `--type STRING` - Navigation type: navigate, reload, back, forward
|
||||
- `--ignoreCache BOOLEAN` - Bypass cache on reload
|
||||
- `--timeout NUMBER` - Navigation timeout in milliseconds
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Navigate to URL
|
||||
node scripts/navigate_page.js --url https://example.com/page2
|
||||
|
||||
# Reload page
|
||||
node scripts/navigate_page.js --type reload
|
||||
|
||||
# Reload ignoring cache
|
||||
node scripts/navigate_page.js --type reload --ignoreCache true
|
||||
|
||||
# Go back
|
||||
node scripts/navigate_page.js --type back
|
||||
|
||||
# Go forward
|
||||
node scripts/navigate_page.js --type forward
|
||||
```
|
||||
|
||||
**Related Tools:** new_page, wait_for
|
||||
|
||||
---
|
||||
|
||||
## new_page
|
||||
|
||||
Creates a new browser page (tab).
|
||||
|
||||
**Group:** Page Management
|
||||
|
||||
**Required Parameters:**
|
||||
- `--url STRING` - URL to open
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--timeout NUMBER` - Page load timeout in milliseconds (default: 30000)
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/new_page.js --url https://example.com
|
||||
|
||||
# With longer timeout
|
||||
node scripts/new_page.js --url https://slow-site.com --timeout 60000
|
||||
```
|
||||
|
||||
**Notes:** New page becomes the selected page automatically.
|
||||
|
||||
**Related Tools:** list_pages, select_page, close_page
|
||||
|
||||
---
|
||||
|
||||
## performance_analyze_insight
|
||||
|
||||
Gets detailed information about a specific performance insight.
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**Required Parameters:**
|
||||
- `--insightSetId STRING` - Insight set ID from performance trace
|
||||
- `--insightName STRING` - Name of specific insight to analyze
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/performance_analyze_insight.js --insightSetId set_abc123 --insightName LargestContentfulPaint
|
||||
|
||||
node scripts/performance_analyze_insight.js --insightSetId set_abc123 --insightName CumulativeLayoutShift
|
||||
```
|
||||
|
||||
**Common Insight Names:**
|
||||
- LargestContentfulPaint
|
||||
- FirstContentfulPaint
|
||||
- CumulativeLayoutShift
|
||||
- TotalBlockingTime
|
||||
- TimeToInteractive
|
||||
|
||||
**Related Tools:** performance_start_trace, performance_stop_trace
|
||||
|
||||
---
|
||||
|
||||
## performance_start_trace
|
||||
|
||||
Starts performance trace recording.
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**Required Parameters:**
|
||||
- `--reload BOOLEAN` - Reload page before tracing
|
||||
- `--autoStop BOOLEAN` - Automatically stop when page loads
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Start with page reload
|
||||
node scripts/performance_start_trace.js --reload true --autoStop false
|
||||
|
||||
# Start without reload
|
||||
node scripts/performance_start_trace.js --reload false --autoStop true
|
||||
```
|
||||
|
||||
**Notes:** Only one trace can be active at a time. Call performance_stop_trace to get results.
|
||||
|
||||
**Related Tools:** performance_stop_trace, performance_analyze_insight
|
||||
|
||||
---
|
||||
|
||||
## performance_stop_trace
|
||||
|
||||
Stops the active performance trace and returns results.
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**No Parameters**
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/performance_stop_trace.js
|
||||
```
|
||||
|
||||
**Output includes:**
|
||||
- Core Web Vitals scores (LCP, FID, CLS)
|
||||
- Performance insights
|
||||
- Insight set IDs for detailed analysis
|
||||
- Timing metrics
|
||||
|
||||
**Related Tools:** performance_start_trace, performance_analyze_insight
|
||||
|
||||
---
|
||||
|
||||
## press_key
|
||||
|
||||
Presses a key or key combination.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--key STRING` - Key or key combination to press
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Single key
|
||||
node scripts/press_key.js --key Enter
|
||||
node scripts/press_key.js --key Tab
|
||||
node scripts/press_key.js --key Escape
|
||||
|
||||
# Arrow keys
|
||||
node scripts/press_key.js --key ArrowDown
|
||||
node scripts/press_key.js --key ArrowUp
|
||||
|
||||
# Key combinations (use + separator)
|
||||
node scripts/press_key.js --key "Control+S"
|
||||
node scripts/press_key.js --key "Control+Shift+P"
|
||||
node scripts/press_key.js --key "Alt+F4"
|
||||
```
|
||||
|
||||
**Common Keys:** Enter, Tab, Escape, Space, Backspace, Delete, ArrowUp, ArrowDown, ArrowLeft, ArrowRight
|
||||
|
||||
**Modifiers:** Control, Shift, Alt, Meta (Command on Mac)
|
||||
|
||||
**Related Tools:** fill, click
|
||||
|
||||
---
|
||||
|
||||
## resize_page
|
||||
|
||||
Resizes the browser window to specific dimensions.
|
||||
|
||||
**Group:** Page Management
|
||||
|
||||
**Required Parameters:**
|
||||
- `--width NUMBER` - Width in pixels
|
||||
- `--height NUMBER` - Height in pixels
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Desktop
|
||||
node scripts/resize_page.js --width 1920 --height 1080
|
||||
|
||||
# Laptop
|
||||
node scripts/resize_page.js --width 1366 --height 768
|
||||
|
||||
# Tablet
|
||||
node scripts/resize_page.js --width 768 --height 1024
|
||||
|
||||
# Mobile
|
||||
node scripts/resize_page.js --width 375 --height 667
|
||||
```
|
||||
|
||||
**Common Dimensions:**
|
||||
- Desktop: 1920x1080, 1440x900, 1366x768
|
||||
- Tablet: 768x1024 (iPad), 600x960
|
||||
- Mobile: 375x667 (iPhone), 360x640 (Android)
|
||||
|
||||
**Related Tools:** take_screenshot, emulate
|
||||
|
||||
---
|
||||
|
||||
## select_page
|
||||
|
||||
Switches the active context to a specific page.
|
||||
|
||||
**Group:** Page Management
|
||||
|
||||
**Required Parameters:**
|
||||
- `--pageIdx NUMBER` - Page index from list_pages
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
node scripts/select_page.js --pageIdx 0
|
||||
node scripts/select_page.js --pageIdx 2
|
||||
```
|
||||
|
||||
**Notes:** All subsequent commands operate on the selected page.
|
||||
|
||||
**Related Tools:** list_pages, new_page
|
||||
|
||||
---
|
||||
|
||||
## take_screenshot
|
||||
|
||||
Captures a visual screenshot of the page or element.
|
||||
|
||||
**Group:** Inspection & Debugging
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--format STRING` - Image format: png or jpeg (default: png)
|
||||
- `--quality NUMBER` - JPEG quality 0-100 (default: 90)
|
||||
- `--uid STRING` - Element UID to screenshot (if omitted, screenshots viewport)
|
||||
- `--fullPage BOOLEAN` - Capture full scrollable page (default: false)
|
||||
- `--filePath STRING` - Path to save image file
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Full page PNG
|
||||
node scripts/take_screenshot.js --fullPage true --filePath page.png
|
||||
|
||||
# Viewport only
|
||||
node scripts/take_screenshot.js --filePath viewport.png
|
||||
|
||||
# Specific element
|
||||
node scripts/take_screenshot.js --uid element_abc123 --filePath element.png
|
||||
|
||||
# Compressed JPEG
|
||||
node scripts/take_screenshot.js --format jpeg --quality 80 --filePath page.jpg
|
||||
```
|
||||
|
||||
**Related Tools:** take_snapshot
|
||||
|
||||
---
|
||||
|
||||
## take_snapshot
|
||||
|
||||
Captures text-based page structure with element UIDs.
|
||||
|
||||
**Group:** Inspection & Debugging
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--verbose BOOLEAN` - Include more details (default: false)
|
||||
- `--filePath STRING` - Path to save snapshot file
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Console output
|
||||
node scripts/take_snapshot.js
|
||||
|
||||
# Verbose mode
|
||||
node scripts/take_snapshot.js --verbose true
|
||||
|
||||
# Save to file
|
||||
node scripts/take_snapshot.js --filePath snapshot.txt
|
||||
|
||||
# Both
|
||||
node scripts/take_snapshot.js --verbose true --filePath detailed_snapshot.txt
|
||||
```
|
||||
|
||||
**Output Format:**
|
||||
```
|
||||
Page: https://example.com
|
||||
Title: Example Domain
|
||||
|
||||
button "Submit" [uid: button_submit_abc123]
|
||||
input "Email" [uid: input_email_def456]
|
||||
link "About" [uid: link_about_ghi789]
|
||||
```
|
||||
|
||||
**Important:** Always use UIDs from the most recent snapshot. UIDs regenerate on each snapshot.
|
||||
|
||||
**Related Tools:** click, fill, hover, drag, take_screenshot
|
||||
|
||||
---
|
||||
|
||||
## upload_file
|
||||
|
||||
Uploads a file through a file input element.
|
||||
|
||||
**Group:** Element Interaction
|
||||
|
||||
**Required Parameters:**
|
||||
- `--uid UID` - File input element UID
|
||||
- `--filePath STRING` - Absolute path to file to upload
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Upload document
|
||||
node scripts/upload_file.js --uid input_file_abc --filePath /Users/username/documents/resume.pdf
|
||||
|
||||
# Upload image
|
||||
node scripts/upload_file.js --uid input_avatar_xyz --filePath /Users/username/pictures/profile.jpg
|
||||
```
|
||||
|
||||
**Notes:**
|
||||
- Use absolute paths (not relative)
|
||||
- Use forward slashes in paths
|
||||
- Verify file exists before upload
|
||||
|
||||
**Related Tools:** click, fill, wait_for
|
||||
|
||||
---
|
||||
|
||||
## wait_for
|
||||
|
||||
Waits for specific text to appear on the page.
|
||||
|
||||
**Group:** Performance Analysis
|
||||
|
||||
**Required Parameters:**
|
||||
- `--text STRING` - Text to wait for (exact match)
|
||||
|
||||
**Optional Parameters:**
|
||||
- `--timeout NUMBER` - Maximum wait time in milliseconds (default: 30000)
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Wait up to 30 seconds (default)
|
||||
node scripts/wait_for.js --text "Loading complete"
|
||||
|
||||
# Wait up to 10 seconds
|
||||
node scripts/wait_for.js --text "Welcome" --timeout 10000
|
||||
|
||||
# Wait for error message
|
||||
node scripts/wait_for.js --text "Error occurred" --timeout 5000
|
||||
```
|
||||
|
||||
**Notes:**
|
||||
- Text match is exact (case-sensitive)
|
||||
- Times out if text doesn't appear within timeout period
|
||||
- Use after navigation, clicks, or any action that triggers loading
|
||||
|
||||
**Related Tools:** click, navigate_page, take_snapshot
|
||||
Reference in New Issue
Block a user