Skip to content

Config

config

Dataclasses for wavexis configuration and parameters.

BrowserOptions dataclass

Options for launching a browser instance.

Attributes:

Name Type Description
headless bool

Run browser in headless mode.

width int

Browser window width in pixels.

height int

Browser window height in pixels.

user_agent str | None

Custom User-Agent string.

extra_headers dict[str, str]

Extra HTTP headers to send with every request.

proxy str | None

Proxy server URL (e.g. http://proxy:8080 or socks5://proxy:1080).

timeout int

Default navigation timeout in milliseconds.

user_data_dir str | None

Path to a persistent user data directory for browser profiles.

browser_url str | None

URL of an existing browser to connect to (e.g. ws://localhost:9222).

remote_url str | None

WebSocket URL of a cloud browser service (e.g. wss://chrome.browserless.io?token=XXX or wss://connect.browserbase.com?token=XXX).

stealth bool

Enable anti-bot stealth mode (hides navigator.webdriver, fakes plugins, languages, chrome runtime, permissions).

Source code in wavexis/config.py
@dataclass
class BrowserOptions:
    """Options for launching a browser instance.

    Attributes:
        headless: Run browser in headless mode.
        width: Browser window width in pixels.
        height: Browser window height in pixels.
        user_agent: Custom User-Agent string.
        extra_headers: Extra HTTP headers to send with every request.
        proxy: Proxy server URL (e.g. http://proxy:8080 or socks5://proxy:1080).
        timeout: Default navigation timeout in milliseconds.
        user_data_dir: Path to a persistent user data directory for browser profiles.
        browser_url: URL of an existing browser to connect to (e.g. ws://localhost:9222).
        remote_url: WebSocket URL of a cloud browser service (e.g.
            wss://chrome.browserless.io?token=XXX or
            wss://connect.browserbase.com?token=XXX).
        stealth: Enable anti-bot stealth mode (hides navigator.webdriver,
            fakes plugins, languages, chrome runtime, permissions).
    """

    headless: bool = True
    width: int = 1280
    height: int = 800
    user_agent: str | None = None
    extra_headers: dict[str, str] = field(default_factory=dict)
    proxy: str | None = None
    timeout: int = 30000
    user_data_dir: str | None = None
    browser_url: str | None = None
    remote_url: str | None = None
    stealth: bool = False

WaitStrategy dataclass

Strategy for waiting after navigation.

Attributes:

Name Type Description
strategy str

Wait type — "load", "domcontentloaded", "networkidle", "selector", or "url".

selector str | None

CSS selector to wait for (required when strategy="selector").

url_pattern str | None

URL substring to wait for (required when strategy="url").

timeout int

Maximum wait time in milliseconds.

Source code in wavexis/config.py
@dataclass
class WaitStrategy:
    """Strategy for waiting after navigation.

    Attributes:
        strategy: Wait type — "load", "domcontentloaded", "networkidle",
            "selector", or "url".
        selector: CSS selector to wait for (required when strategy="selector").
        url_pattern: URL substring to wait for (required when strategy="url").
        timeout: Maximum wait time in milliseconds.
    """

    strategy: str = "load"
    selector: str | None = None
    url_pattern: str | None = None
    timeout: int = 30000

    @classmethod
    def from_url(cls, url: str) -> WaitStrategy:
        """Create a load wait strategy from a URL.

        Args:
            url: The URL to navigate to (used for context only).

        Returns:
            A WaitStrategy with strategy="load".
        """
        return cls(strategy="load")

from_url classmethod

from_url(url: str) -> WaitStrategy

Create a load wait strategy from a URL.

Parameters:

Name Type Description Default
url str

The URL to navigate to (used for context only).

required

Returns:

Type Description
WaitStrategy

A WaitStrategy with strategy="load".

Source code in wavexis/config.py
@classmethod
def from_url(cls, url: str) -> WaitStrategy:
    """Create a load wait strategy from a URL.

    Args:
        url: The URL to navigate to (used for context only).

    Returns:
        A WaitStrategy with strategy="load".
    """
    return cls(strategy="load")

ScreenshotParams dataclass

Parameters for taking a screenshot.

Source code in wavexis/config.py
@dataclass
class ScreenshotParams:
    """Parameters for taking a screenshot."""

    url: str
    full_page: bool = True
    format: str = "png"
    quality: int = 80
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    js: str | None = None
    selector: str | None = None
    device: str | None = None
    browser: BrowserOptions = field(default_factory=BrowserOptions)

PDFParams dataclass

Parameters for generating a PDF.

Attributes:

Name Type Description
url str

URL to navigate to before generating the PDF.

paper str

Paper size name (a4, letter, legal, a3, a5).

landscape bool

Use landscape orientation.

margin str

Margin string (e.g. "0.4in").

no_header_footer bool

Omit header and footer.

media str

CSS media type to emulate ("print" or "screen").

wait WaitStrategy

Wait strategy after navigation.

js str | None

Optional JavaScript to execute before PDF generation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class PDFParams:
    """Parameters for generating a PDF.

    Attributes:
        url: URL to navigate to before generating the PDF.
        paper: Paper size name (a4, letter, legal, a3, a5).
        landscape: Use landscape orientation.
        margin: Margin string (e.g. "0.4in").
        no_header_footer: Omit header and footer.
        media: CSS media type to emulate ("print" or "screen").
        wait: Wait strategy after navigation.
        js: Optional JavaScript to execute before PDF generation.
        browser: Browser launch options.
    """

    url: str
    paper: str = "letter"
    landscape: bool = False
    margin: str = "0.4in"
    no_header_footer: bool = False
    media: str = "print"
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    js: str | None = None
    browser: BrowserOptions = field(default_factory=BrowserOptions)

EvalParams dataclass

Parameters for evaluating a JavaScript expression.

Attributes:

Name Type Description
url str

URL to navigate to before evaluation.

expression str

JavaScript expression to evaluate.

await_promise bool

Whether to await a returned Promise.

file str | None

Path to a file containing the expression (prefixed with @).

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class EvalParams:
    """Parameters for evaluating a JavaScript expression.

    Attributes:
        url: URL to navigate to before evaluation.
        expression: JavaScript expression to evaluate.
        await_promise: Whether to await a returned Promise.
        file: Path to a file containing the expression (prefixed with @).
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str
    expression: str = ""
    await_promise: bool = False
    file: str | None = None
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

DOMParams dataclass

Parameters for DOM operations.

Attributes:

Name Type Description
url str

URL to navigate to before DOM operation.

action str

DOM action — "get", "query", "attr", "remove", "focus", "scroll".

selector str

CSS selector for the target element.

outer bool

Use outerHTML (True) or innerHTML (False) for "get" action.

all bool

Query all matching elements (True) or first only (False).

attribute str | None

Attribute name for get/set/remove attr actions.

value str | None

Attribute value for set attr action.

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class DOMParams:
    """Parameters for DOM operations.

    Attributes:
        url: URL to navigate to before DOM operation.
        action: DOM action — "get", "query", "attr", "remove", "focus", "scroll".
        selector: CSS selector for the target element.
        outer: Use outerHTML (True) or innerHTML (False) for "get" action.
        all: Query all matching elements (True) or first only (False).
        attribute: Attribute name for get/set/remove attr actions.
        value: Attribute value for set attr action.
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    action: str = "get"
    selector: str = ""
    outer: bool = True
    all: bool = False
    attribute: str | None = None
    value: str | None = None
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

ScrapeParams dataclass

Parameters for scraping multiple URLs.

Attributes:

Name Type Description
urls list[str]

List of URLs to scrape.

expression str

JavaScript expression to evaluate on each page.

file str | None

Path to a file containing the expression (prefixed with @).

output_format str

Output format — "json" or "csv".

selector str | None

Optional CSS selector to wait for on each page.

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class ScrapeParams:
    """Parameters for scraping multiple URLs.

    Attributes:
        urls: List of URLs to scrape.
        expression: JavaScript expression to evaluate on each page.
        file: Path to a file containing the expression (prefixed with @).
        output_format: Output format — "json" or "csv".
        selector: Optional CSS selector to wait for on each page.
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    urls: list[str] = field(default_factory=list)
    expression: str = ""
    file: str | None = None
    output_format: str = "json"
    selector: str | None = None
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

HarParams dataclass

Parameters for HAR capture.

Attributes:

Name Type Description
url str

URL to navigate to for HAR capture.

wait WaitStrategy

Time to wait after navigation in milliseconds.

filter str | None

Optional URL filter pattern to include only matching entries.

timeout int

Maximum capture timeout in milliseconds.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class HarParams:
    """Parameters for HAR capture.

    Attributes:
        url: URL to navigate to for HAR capture.
        wait: Time to wait after navigation in milliseconds.
        filter: Optional URL filter pattern to include only matching entries.
        timeout: Maximum capture timeout in milliseconds.
        browser: Browser launch options.
    """

    url: str = ""
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    filter: str | None = None
    timeout: int = 30000
    browser: BrowserOptions = field(default_factory=BrowserOptions)

CookieParams dataclass

Parameters for setting a cookie.

Attributes:

Name Type Description
name str

Cookie name.

value str

Cookie value.

domain str

Cookie domain.

path str

Cookie path.

secure bool

Whether cookie is secure-only.

http_only bool

Whether cookie is HTTP-only.

same_site str

SameSite attribute — "Lax", "Strict", or "None".

Source code in wavexis/config.py
@dataclass
class CookieParams:
    """Parameters for setting a cookie.

    Attributes:
        name: Cookie name.
        value: Cookie value.
        domain: Cookie domain.
        path: Cookie path.
        secure: Whether cookie is secure-only.
        http_only: Whether cookie is HTTP-only.
        same_site: SameSite attribute — "Lax", "Strict", or "None".
    """

    name: str = ""
    value: str = ""
    domain: str = ""
    path: str = "/"
    secure: bool = True
    http_only: bool = False
    same_site: str = "Lax"

NetworkParams dataclass

Parameters for network operations.

Attributes:

Name Type Description
url str | None

URL to navigate to (for cookies get).

action str

Network action — "cookies_get", "cookies_set", "cookies_delete", "cookies_clear", "headers", "user_agent".

headers dict[str, str] | None

Dict of HTTP headers to set.

user_agent str | None

User-Agent string to set.

cookies list[dict[str, str]] | None

List of cookie dicts to set.

cookie CookieParams | None

Single CookieParams for set/delete.

name str | None

Cookie name for delete.

domain str | None

Cookie domain for delete.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class NetworkParams:
    """Parameters for network operations.

    Attributes:
        url: URL to navigate to (for cookies get).
        action: Network action — "cookies_get", "cookies_set", "cookies_delete",
            "cookies_clear", "headers", "user_agent".
        headers: Dict of HTTP headers to set.
        user_agent: User-Agent string to set.
        cookies: List of cookie dicts to set.
        cookie: Single CookieParams for set/delete.
        name: Cookie name for delete.
        domain: Cookie domain for delete.
        browser: Browser launch options.
    """

    url: str | None = None
    action: str = "cookies_get"
    headers: dict[str, str] | None = None
    user_agent: str | None = None
    cookies: list[dict[str, str]] | None = None
    cookie: CookieParams | None = None
    name: str | None = None
    domain: str | None = None
    browser: BrowserOptions = field(default_factory=BrowserOptions)

EmulationParams dataclass

Parameters for emulation operations.

Attributes:

Name Type Description
action str

Emulation action — 'device', 'viewport', 'geolocation', 'timezone', 'dark_mode'.

device str | None

Device preset name for 'device' action.

width int

Viewport width for 'viewport' action.

height int

Viewport height for 'viewport' action.

device_scale_factor float

Device pixel scale factor for 'viewport' action.

latitude float

Latitude for 'geolocation' action.

longitude float

Longitude for 'geolocation' action.

accuracy float

Accuracy in meters for 'geolocation' action.

timezone str

IANA timezone ID for 'timezone' action.

dark_mode bool

Enable dark mode for 'dark_mode' action.

url str

URL to navigate to before emulation (optional).

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class EmulationParams:
    """Parameters for emulation operations.

    Attributes:
        action: Emulation action — 'device', 'viewport', 'geolocation',
            'timezone', 'dark_mode'.
        device: Device preset name for 'device' action.
        width: Viewport width for 'viewport' action.
        height: Viewport height for 'viewport' action.
        device_scale_factor: Device pixel scale factor for 'viewport' action.
        latitude: Latitude for 'geolocation' action.
        longitude: Longitude for 'geolocation' action.
        accuracy: Accuracy in meters for 'geolocation' action.
        timezone: IANA timezone ID for 'timezone' action.
        dark_mode: Enable dark mode for 'dark_mode' action.
        url: URL to navigate to before emulation (optional).
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    action: str = "device"
    device: str | None = None
    width: int = 0
    height: int = 0
    device_scale_factor: float = 1.0
    latitude: float = 0.0
    longitude: float = 0.0
    accuracy: float = 100.0
    timezone: str = ""
    dark_mode: bool = False
    url: str = ""
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

InputParams dataclass

Parameters for input interactions.

Attributes:

Name Type Description
url str

URL to navigate to before the input action.

selector str

CSS selector for the target element.

action str

Input action — "click", "type", "fill", "select", "hover", "key", "drag", "tap", "scroll", "upload".

text str | None

Text to type (for "type" action).

value str | None

Value to fill or select (for "fill" and "select" actions).

key str | None

Key to press (for "key" action, e.g. "Enter", "Tab").

button str

Mouse button for click — "left", "right", "middle".

click_count int

Number of clicks for click action.

delay int

Delay between keystrokes in milliseconds (for "type" action).

source str | None

Source CSS selector for "drag" action.

target str | None

Target CSS selector for "drag" action.

scroll_x int

Horizontal scroll offset (for "scroll" action).

scroll_y int

Vertical scroll offset (for "scroll" action).

files list[str] | None

List of file paths to upload (for "upload" action).

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class InputParams:
    """Parameters for input interactions.

    Attributes:
        url: URL to navigate to before the input action.
        selector: CSS selector for the target element.
        action: Input action — "click", "type", "fill", "select", "hover",
            "key", "drag", "tap", "scroll", "upload".
        text: Text to type (for "type" action).
        value: Value to fill or select (for "fill" and "select" actions).
        key: Key to press (for "key" action, e.g. "Enter", "Tab").
        button: Mouse button for click — "left", "right", "middle".
        click_count: Number of clicks for click action.
        delay: Delay between keystrokes in milliseconds (for "type" action).
        source: Source CSS selector for "drag" action.
        target: Target CSS selector for "drag" action.
        scroll_x: Horizontal scroll offset (for "scroll" action).
        scroll_y: Vertical scroll offset (for "scroll" action).
        files: List of file paths to upload (for "upload" action).
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    selector: str = ""
    action: str = "click"
    text: str | None = None
    value: str | None = None
    key: str | None = None
    button: str = "left"
    click_count: int = 1
    delay: int = 0
    source: str | None = None
    target: str | None = None
    scroll_x: int = 0
    scroll_y: int = 0
    files: list[str] | None = None
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

ThrottleParams dataclass

Parameters for network throttling.

Attributes:

Name Type Description
offline bool

If True, emulate network offline state.

latency_ms int

Emulated latency in milliseconds.

download_bps int

Max download throughput in bytes/sec (-1 for unlimited).

upload_bps int

Max upload throughput in bytes/sec (-1 for unlimited).

Source code in wavexis/config.py
@dataclass
class ThrottleParams:
    """Parameters for network throttling.

    Attributes:
        offline: If True, emulate network offline state.
        latency_ms: Emulated latency in milliseconds.
        download_bps: Max download throughput in bytes/sec (-1 for unlimited).
        upload_bps: Max upload throughput in bytes/sec (-1 for unlimited).
    """

    offline: bool = False
    latency_ms: int = 0
    download_bps: int = -1
    upload_bps: int = -1

SensorParams dataclass

Parameters for sensor emulation.

Attributes:

Name Type Description
type str

Sensor type — "geolocation", "device-orientation", "ambient-light".

values dict[str, Any]

Dict of sensor-specific values (e.g. latitude, longitude, accuracy).

Source code in wavexis/config.py
@dataclass
class SensorParams:
    """Parameters for sensor emulation.

    Attributes:
        type: Sensor type — "geolocation", "device-orientation", "ambient-light".
        values: Dict of sensor-specific values (e.g. latitude, longitude, accuracy).
    """

    type: str = ""
    values: dict[str, Any] = field(default_factory=dict)

ScreencastParams dataclass

Parameters for capturing a screencast.

Attributes:

Name Type Description
url str

URL to navigate to before screencast.

format str

Image format for each frame ("png" or "jpeg").

quality int

JPEG quality (0-100).

max_width int

Max frame width in pixels.

max_height int

Max frame height in pixels.

duration float

Maximum capture duration in seconds.

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class ScreencastParams:
    """Parameters for capturing a screencast.

    Attributes:
        url: URL to navigate to before screencast.
        format: Image format for each frame ("png" or "jpeg").
        quality: JPEG quality (0-100).
        max_width: Max frame width in pixels.
        max_height: Max frame height in pixels.
        duration: Maximum capture duration in seconds.
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    format: str = "png"
    quality: int = 80
    max_width: int = 1280
    max_height: int = 800
    duration: float = 5.0
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

StorageParams dataclass

Parameters for storage operations.

Attributes:

Name Type Description
url str

URL to navigate to before storage operations.

key str | None

Storage key for get/set actions.

value str | None

Value for set action.

storage_type str

"local" or "session" for DOM storage.

cache_name str | None

Cache name for cache storage actions.

database str | None

IndexedDB database name.

store str | None

IndexedDB object store name.

action str

Storage action — "get", "set", "clear", "list", "cache-list", "cache-entries", "cache-delete", "indexeddb-list", "indexeddb-get", "indexeddb-clear".

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class StorageParams:
    """Parameters for storage operations.

    Attributes:
        url: URL to navigate to before storage operations.
        key: Storage key for get/set actions.
        value: Value for set action.
        storage_type: "local" or "session" for DOM storage.
        cache_name: Cache name for cache storage actions.
        database: IndexedDB database name.
        store: IndexedDB object store name.
        action: Storage action — "get", "set", "clear", "list",
            "cache-list", "cache-entries", "cache-delete",
            "indexeddb-list", "indexeddb-get", "indexeddb-clear".
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    key: str | None = None
    value: str | None = None
    storage_type: str = "local"
    cache_name: str | None = None
    database: str | None = None
    store: str | None = None
    action: str = "get"
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

AnimationParams dataclass

Parameters for animation operations.

Attributes:

Name Type Description
url str

URL to navigate to before animation operations.

animation_id str | None

Animation ID for pause/play/seek actions.

time_ms int | None

Target time in milliseconds for seek action.

action str

Animation action — "list", "pause", "play", "seek".

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class AnimationParams:
    """Parameters for animation operations.

    Attributes:
        url: URL to navigate to before animation operations.
        animation_id: Animation ID for pause/play/seek actions.
        time_ms: Target time in milliseconds for seek action.
        action: Animation action — "list", "pause", "play", "seek".
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    animation_id: str | None = None
    time_ms: int | None = None
    action: str = "list"
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

CSSParams dataclass

Parameters for CSS inspection operations.

Attributes:

Name Type Description
url str

URL to navigate to before CSS inspection.

selector str | None

CSS selector for the target element.

node_id str | None

Node ID (alternative to selector).

stylesheet_id str | None

Stylesheet ID for rules action.

action str

CSS action — "styles", "stylesheets", "rules", "computed".

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class CSSParams:
    """Parameters for CSS inspection operations.

    Attributes:
        url: URL to navigate to before CSS inspection.
        selector: CSS selector for the target element.
        node_id: Node ID (alternative to selector).
        stylesheet_id: Stylesheet ID for rules action.
        action: CSS action — "styles", "stylesheets", "rules", "computed".
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    selector: str | None = None
    node_id: str | None = None
    stylesheet_id: str | None = None
    action: str = "styles"
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

DebugParams dataclass

Parameters for debugging operations.

Attributes:

Name Type Description
url str | None

URL to navigate to before debugging (optional for step/pause/resume).

line int | None

Line number for breakpoint (0-based).

function_name str | None

Function name for function breakpoint.

condition str | None

Optional condition expression for breakpoint.

action str

Debug action — "breakpoint", "function_breakpoint", "remove_breakpoint", "step_over", "step_into", "step_out", "pause", "resume", "listeners".

breakpoint_id str | None

Breakpoint ID for remove_breakpoint.

selector str | None

CSS selector for listeners action.

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class DebugParams:
    """Parameters for debugging operations.

    Attributes:
        url: URL to navigate to before debugging (optional for step/pause/resume).
        line: Line number for breakpoint (0-based).
        function_name: Function name for function breakpoint.
        condition: Optional condition expression for breakpoint.
        action: Debug action — "breakpoint", "function_breakpoint",
            "remove_breakpoint", "step_over", "step_into", "step_out",
            "pause", "resume", "listeners".
        breakpoint_id: Breakpoint ID for remove_breakpoint.
        selector: CSS selector for listeners action.
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str | None = None
    line: int | None = None
    function_name: str | None = None
    condition: str | None = None
    action: str = "breakpoint"
    breakpoint_id: str | None = None
    selector: str | None = None
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

CookieActionParams dataclass

Parameters for cookie operations.

Attributes:

Name Type Description
url str

URL to navigate to before cookie operations.

action str

Cookie action — "get", "set", "delete", "clear".

cookie CookieParams

Cookie parameters for set action.

name str

Cookie name for delete action.

domain str

Cookie domain for delete action.

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class CookieActionParams:
    """Parameters for cookie operations.

    Attributes:
        url: URL to navigate to before cookie operations.
        action: Cookie action — "get", "set", "delete", "clear".
        cookie: Cookie parameters for set action.
        name: Cookie name for delete action.
        domain: Cookie domain for delete action.
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    action: str = "get"
    cookie: CookieParams = field(default_factory=CookieParams)
    name: str = ""
    domain: str = ""
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)

HeaderParams dataclass

Parameters for header and user-agent operations.

Attributes:

Name Type Description
url str

URL to navigate to before setting headers.

action str

Header action — "set-headers", "set-user-agent".

headers dict[str, str]

Extra HTTP headers for set-headers action.

user_agent str

User-Agent string for set-user-agent action.

wait WaitStrategy

Wait strategy after navigation.

browser BrowserOptions

Browser launch options.

Source code in wavexis/config.py
@dataclass
class HeaderParams:
    """Parameters for header and user-agent operations.

    Attributes:
        url: URL to navigate to before setting headers.
        action: Header action — "set-headers", "set-user-agent".
        headers: Extra HTTP headers for set-headers action.
        user_agent: User-Agent string for set-user-agent action.
        wait: Wait strategy after navigation.
        browser: Browser launch options.
    """

    url: str = ""
    action: str = "set-headers"
    headers: dict[str, str] = field(default_factory=dict)
    user_agent: str = ""
    wait: WaitStrategy = field(default_factory=WaitStrategy)
    browser: BrowserOptions = field(default_factory=BrowserOptions)