Experimental Tools (20)¶
Enable with --caps=experimental.
Experimental tools cover niche and advanced browser features that most users won't need daily but are invaluable when they do. This tier includes service worker management, animation control, WebAuthn virtual authenticators, WebAudio inspection, media player monitoring, Cast (Chromecast) control, Bluetooth emulation, browser extension management, and browser preference get/set.
These tools map directly to Chrome DevTools Protocol domains that are considered experimental or non-standard.
Service Workers¶
Service workers are background scripts that control network requests, push notifications, and offline caching. These tools let you inspect and manage registered service workers.
| Tool | Parameters | Description |
|---|---|---|
wavexis_sw_list |
session_id |
List all registered service workers. Returns registration ID, script URL, state, and scope. |
wavexis_sw_unregister |
session_id, registration_id |
Unregister a service worker by its registration ID. |
wavexis_sw_update |
session_id, registration_id |
Trigger an update check for a service worker. The browser will fetch the script and compare versions. |
Animations¶
Control CSS and JavaScript animations on the page. Pause, play, seek, and list all running animations.
| Tool | Parameters | Description |
|---|---|---|
wavexis_animation_list |
session_id |
List all running animations. Returns animation ID, name, duration, start time, and current state. |
wavexis_animation_pause |
session_id |
Pause all animations on the page. |
wavexis_animation_play |
session_id |
Resume all paused animations. |
wavexis_animation_seek |
session_id, time |
Seek all animations to a specific time (in milliseconds). |
WebAuthn¶
WebAuthn (Web Authentication) tools let you emulate virtual authenticators for testing passkey and FIDO2 flows without physical hardware.
| Tool | Parameters | Description |
|---|---|---|
wavexis_webauthn_add_virtual_authenticator |
session_id, protocol, transport |
Add a virtual authenticator. protocol: ctap2 (default) or u2f. transport: usb, nfc, ble, internal. |
wavexis_webauthn_remove_authenticator |
session_id, authenticator_id |
Remove a virtual authenticator by ID. |
wavexis_webauthn_add_credential |
session_id, authenticator_id, credential |
Add a credential to a virtual authenticator. |
wavexis_webauthn_get_credentials |
session_id, authenticator_id |
List all credentials for a virtual authenticator. |
WebAudio¶
Inspect the Web Audio API graph. List audio contexts and get details about specific contexts.
| Tool | Parameters | Description |
|---|---|---|
wavexis_webaudio_get_contexts |
session_id |
List all WebAudio contexts. Returns context ID, state (running/suspended/closed), and sample rate. |
wavexis_webaudio_get_context |
session_id, context_id |
Get detailed information about a specific WebAudio context, including nodes and connections. |
Media¶
Monitor media players (video, audio) on the page. Useful for debugging playback issues.
| Tool | Parameters | Description |
|---|---|---|
wavexis_media_get_players |
session_id |
List all media players on the page. Returns player ID, URL, state, and duration. |
wavexis_media_get_messages |
session_id, player_id |
Get media player messages (events, errors, state changes) for a specific player. |
Cast¶
Control Cast (Chromecast) functionality. List available sinks and start/stop casting.
| Tool | Parameters | Description |
|---|---|---|
wavexis_cast_list |
session_id |
List available Cast sinks (Chromecast devices on the network). |
wavexis_cast_start_tab |
session_id, sink_name |
Start casting the current tab to a sink. |
wavexis_cast_stop |
session_id |
Stop the current Cast session. |
Bluetooth¶
Emulate Bluetooth adapters for testing Web Bluetooth API without physical devices.
| Tool | Parameters | Description |
|---|---|---|
wavexis_bluetooth_emulate |
session_id, adapter |
Emulate a Bluetooth adapter. adapter: dict with address, name, manufacturerData, knownDevices. |
wavexis_bluetooth_stop |
session_id |
Stop Bluetooth emulation and remove the virtual adapter. |
Extensions¶
Manage browser extensions (Chrome extensions). Install, uninstall, and list loaded extensions. Useful for testing extension interactions or automating extension development.
| Tool | Parameters | Description |
|---|---|---|
wavexis_extension_install |
session_id, path |
Install a browser extension from a local directory path (must contain manifest.json). |
wavexis_extension_uninstall |
session_id, extension_id |
Uninstall an extension by its ID. |
wavexis_extension_list |
session_id |
List all installed extensions. Returns ID, name, version, and enabled state. |
Install and test an extension
wavexis_session_open(backend="cdp")
wavexis_extension_install(session_id="abc-123", path="./my-extension")
→ {"extension_id": "abcdef...", "name": "My Extension", "version": "1.0.0"}
wavexis_navigate(session_id="abc-123", url="https://example.com")
# Extension is now active on the page
wavexis_extension_list(session_id="abc-123")
wavexis_extension_uninstall(session_id="abc-123", extension_id="abcdef...")
wavexis_session_close(session_id="abc-123")
Browser Preferences¶
Read and write browser-level preferences (Chrome/Edge internal settings). These are the same preferences found in chrome://settings and edge://settings. Useful for configuring browser behavior during automation.
| Tool | Parameters | Description |
|---|---|---|
wavexis_get_pref |
session_id, name |
Get a browser preference by name. Returns the current value. Preference names follow Chrome's internal naming (e.g., profile.default_content_setting_values.images). |
wavexis_set_pref |
session_id, name, value |
Set a browser preference. value can be a string, number, boolean, or JSON object. Changes take effect immediately for most preferences. |
Disable images for faster loading
wavexis_session_open(backend="cdp")
wavexis_set_pref(
session_id="abc-123",
name="profile.default_content_setting_values.images",
value=2 # 1=allow, 2=block
)
wavexis_navigate(session_id="abc-123", url="https://example.com")
# Page loads without images — faster for scraping
wavexis_session_close(session_id="abc-123")