> ## Documentation Index
> Fetch the complete documentation index at: https://docs.camel-ai.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Camel.toolkits.hybrid browser toolkit py.actions

<a id="camel.toolkits.hybrid_browser_toolkit_py.actions" />

<a id="camel.toolkits.hybrid_browser_toolkit_py.actions.ActionExecutor" />

## ActionExecutor

```python theme={"system"}
class ActionExecutor:
```

Executes high-level actions (click, type …) on a Playwright Page.

<a id="camel.toolkits.hybrid_browser_toolkit_py.actions.ActionExecutor.__init__" />

### **init**

```python theme={"system"}
def __init__(
    self,
    page: 'Page',
    session: Optional[Any] = None,
    default_timeout: Optional[int] = None,
    short_timeout: Optional[int] = None,
    max_scroll_amount: Optional[int] = None
):
```

<a id="camel.toolkits.hybrid_browser_toolkit_py.actions.ActionExecutor._valid_coordinates" />

### \_valid\_coordinates

```python theme={"system"}
def _valid_coordinates(self, x_coord: float, y_coord: float):
```

Validate given coordinates against viewport bounds.

<a id="camel.toolkits.hybrid_browser_toolkit_py.actions.ActionExecutor.should_update_snapshot" />

### should\_update\_snapshot

```python theme={"system"}
def should_update_snapshot(action: Dict[str, Any]):
```

Determine if an action requires a snapshot update.
