773 lines
17 KiB
Markdown
773 lines
17 KiB
Markdown
# 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
|