opción

Automatiza las interacciones con el navegador web utilizando lenguaje natural a través de comandos CLI. Admite sesiones locales y remotas de Browserbase con resolución de CAPTCHA, proxies residenciales y persistencia de sesión.

...Expandir todo
0
Tiempo actualizado 30 de septiembre de 2026

Automatización del navegador

Automatice las interacciones del navegador utilizando la CLI browse con Claude.

Verificación de configuración

Antes de ejecutar cualquier comando del navegador, verifique que la CLI esté disponible:

which browse || npm install -g browse

Selección del entorno (Local vs Remoto)

La CLI admite indicadores de entorno explícitos por comando. Si no hace nada, la próxima sesión utilizará Browserbase por defecto cuando BROWSERBASE_API_KEY esté configurada, y local en caso contrario.

Modo local

  • browse open <url> --local</url> inicia un navegador local limpio e aislado
  • browse open <url> --auto-connect</url> se conecta a un Chrome depurable ya en ejecución; utilice --local cuando no haya un Chrome depurable disponible
  • browse open <url> --cdp <port></port></url> se conecta a un objetivo CDP específico
  • Ideal para: desarrollo, localhost, sitios de confianza y ejecuciones reproducibles

Modo remoto (Browserbase)

  • browse open <url> --remote</url> inicia una sesión de Browserbase
  • Sin un indicador local, Browserbase también es el valor predeterminado cuando BROWSERBASE_API_KEY está configurada
  • Proporciona: Identidad de Browserbase, navegadores verificados, resolución automática de CAPTCHA, proxies residenciales y persistencia de sesión
  • Utilice el modo remoto cuando: el sitio objetivo tenga detección de bots, CAPTCHAs, limitación de velocidad por IP, protección de Cloudflare o requiera acceso específico por ubicación geográfica
  • Obtenga las credenciales en https://browserbase.com/settings

Cuándo elegir cada uno

  • Pruebas locales repetibles / estado limpio: browse open <url> --local</url>
  • Reutilizar sus credenciales/cookies locales: browse open <url> --auto-connect</url>
  • Navegación simple (documentación, wikis, APIs públicas): el modo local es suficiente
  • Sitios protegidos (muros de inicio de sesión, CAPTCHAs, anti-scraping): utilice el modo remoto
  • Si el modo local falla con detección de bots o acceso denegado: cambie al modo remoto

Comandos

La mayoría de los comandos del controlador funcionan en sesiones locales, remotas y CDP una vez que el demonio se ha iniciado.

Navegación

browse open <url>                        # Ir a la URL
browse open <url> --local                # Ir a la URL en un navegador local limpio
browse open <url> --remote               # Ir a la URL en una sesión de Browserbase
browse reload                            # Recargar la página actual
browse back                              # Retroceder en el historial
browse forward                           # Avanzar en el historial
</url></url></url>

Estado de la página (preferir instantánea sobre captura de pantalla)

browse snapshot                          # Obtener el árbol de accesibilidad con referencias de elementos (rápido, estructurado)
browse screenshot --path <path>          # Tomar una captura de pantalla visual (lento, utiliza tokens de visión)
browse get url                           # Obtener la URL actual
browse get title                         # Obtener el título de la página
browse get text                # Obtener el contenido de texto (utilice "body" para todo el texto)
browse get html                # Obtener el contenido HTML del elemento
browse get value               # Obtener el valor del campo de formulario
</path>

Utilice browse snapshot como su valor predeterminado para comprender el estado de la página: devuelve el árbol de accesibilidad con referencias de elementos que puede utilizar para interactuar. Utilice browse screenshot solo cuando necesite contexto visual (diseño, imágenes, depuración).

Interacción

browse click <ref>                       # Hacer clic en un elemento por referencia desde la instantánea (p. ej., @0-5)
browse type <text>                       # Escribir texto en el elemento enfocado
browse fill  <value>           # Rellenar entrada; añadir --press-enter si se necesita Enter
browse select  <values...>     # Seleccionar opción(es) del menú desplegable
browse press <key>                       # Presionar tecla (Enter, Tab, Escape, Cmd+A, etc.)
browse mouse drag <fromx><fromy><tox><toy>  # Arrastrar desde un punto hasta otro
browse mouse scroll <x><y><deltax><deltay>  # Desplazarse en las coordenadas
browse highlight               # Resaltar elemento en la página
browse is visible              # Comprobar si el elemento es visible
browse is checked              # Comprobar si el elemento está marcado
browse wait <type> [arg]                 # Esperar a: carga, selector, tiempo de espera
</type></deltay></deltax></y></x></toy></tox></fromy></fromx></key></values...></value></text></ref>

Gestión de sesiones

browse stop                              # Detener el demonio del navegador
browse status                            # Comprobar el estado del demonio y el modo resuelto
browse tab list                          # Listar todas las pestañas abiertas
browse tab switch <index-or-target-id>   # Cambiar a la pestaña por índice o ID de destino
browse tab close [index-or-target-id]    # Cerrar pestaña
</index-or-target-id>

Flujo de trabajo típico

Si el entorno es importante, coloque --local, --remote, --auto-connect o --cdp <port></port> en el primer comando del navegador.

  1. browse open <url> --local</url> o browse open <url> --remote</url> — navegar a la página
  2. browse snapshot — leer el árbol de accesibilidad para comprender la estructura de la página y obtener referencias de elementos
  3. browse click <ref></ref> / browse type <text></text> / browse fill <value></value> — interactuar utilizando referencias de la instantánea
  4. browse snapshot — confirmar que la acción funcionó
  5. Repetir 3-4 según sea necesario
  6. browse stop — cerrar el navegador cuando se haya terminado

Ejemplo rápido

browse open https://example.com
browse snapshot                          # ver estructura de la página + referencias de elementos
browse click @0-5                        # hacer clic en el elemento con referencia 0-5
browse get title
browse stop

Comparación de modos

CaracterísticaLocalBrowserbase
VelocidadMás rápidoLigeramente más lento
ConfiguraciónRequiere ChromeRequiere clave API
Reutilizar cookies locales existentesCon `browse open --auto-connect`N/D
Navegador verificadoNoSí (navegador verificado de Browserbase mediante Identidad)
Resolución de CAPTCHANoSí (reCAPTCHA/hCaptcha automático)
Proxies residencialesNoSí (201 países, segmentación geográfica)
Persistencia de sesiónNoSí (cookies/auth persisten mediante contextos)
Ideal paraDesarrollo/páginas simplesSitios protegidos, Identidad de Browserbase + acceso verificado, scraping de producción

Mejores prácticas

  1. Elegir la estrategia local deliberadamente: utilice browse open <url> --local</url> para un estado limpio, browse open <url> --auto-connect</url> para credenciales locales existentes y browse open <url> --remote</url> para sitios protegidos
  2. Siempre ejecutar browse open primero antes de interactuar
  3. Utilizar browse snapshot para comprobar el estado de la página: es rápido y le proporciona referencias de elementos
  4. Tomar capturas de pantalla solo cuando se necesite contexto visual (comprobaciones de diseño, imágenes, depuración)
  5. Utilizar referencias de la instantánea para hacer clic/interactuar: p. ej., browse click @0-5
  6. Ejecutar browse stop cuando se haya terminado para limpiar la sesión del navegador y borrar la anulación del entorno

Solución de problemas

  • "No hay página activa": Ejecute browse stop, luego compruebe browse status. Si aún indica que está en ejecución, mate al demonio zombie con pkill -f "browse.*daemon", luego reintente browse open
  • Chrome no encontrado: Instale Chrome, utilice browse open <url> --auto-connect</url> si ya tiene un Chrome depurable en ejecución, o cambie a browse open <url> --remote</url>
  • La acción falla: Ejecute browse snapshot para ver los elementos disponibles y sus referencias
  • Fallo de Browserbase: Verifique que la clave API esté configurada

Cambio al modo remoto

Cambie al modo remoto cuando detecte: CAPTCHAs (reCAPTCHA, hCaptcha, Turnstile), páginas de detección de bots ("Comprobando su navegador..."), HTTP 403/429, páginas vacías en sitios que deberían tener contenido, o si el usuario lo solicita.

No cambie para sitios simples (documentación, wikis, APIs públicas, localhost).

browse open <url> --local          # navegador local limpio e aislado
browse open <url> --auto-connect   # conectarse a un Chrome depurable existente
browse open <url> --remote         # sesión de Browserbase
</url></url></url>

Los indicadores de modo se aplican cuando se inicia una sesión. Después de browse stop, el siguiente inicio vuelve a la detección automática basada en variables de entorno. Utilice browse status para inspeccionar el modo resuelto y el objetivo mientras el demonio está en ejecución.

Para ejemplos detallados, consulte EXAMPLES.md. Para la referencia de la API, consulte REFERENCE.md.

Ver en GitHub
---
name: browser
description: Automate web browser interactions using natural language via CLI commands. Supports local and remote Browserbase sessions with CAPTCHA solving, residential proxies, and session persistence.
license: MIT
---

# Browser Automation

Automate browser interactions using the browse CLI with Claude.

## Setup check

Before running any browser commands, verify the CLI is available:

```bash
which browse || npm install -g browse
```

## Environment Selection (Local vs Remote)

The CLI supports explicit per-command environment flags. If you do nothing, the next session defaults to Browserbase when `BROWSERBASE_API_KEY` is set and to local otherwise.

### Local mode
- `browse open <url> --local` starts a clean isolated local browser
- `browse open <url> --auto-connect` attaches to an already-running debuggable Chrome; use `--local` when no debuggable Chrome is available
- `browse open <url> --cdp <port|url>` attaches to a specific CDP target
- Best for: development, localhost, trusted sites, and reproducible runs

### Remote mode (Browserbase)
- `browse open <url> --remote` starts a Browserbase session
- Without a local flag, Browserbase is also the default when `BROWSERBASE_API_KEY` is set
- Provides: Browserbase Identity, Verified browsers, automatic CAPTCHA solving, residential proxies, session persistence
- **Use remote mode when:** the target site has bot detection, CAPTCHAs, IP rate limiting, Cloudflare protection, or requires geo-specific access
- Get credentials at https://browserbase.com/settings

### When to choose which
- **Repeatable local testing / clean state**: `browse open <url> --local`
- **Reuse your local login/cookies**: `browse open <url> --auto-connect`
- **Simple browsing** (docs, wikis, public APIs): local mode is fine
- **Protected sites** (login walls, CAPTCHAs, anti-scraping): use remote mode
- **If local mode fails** with bot detection or access denied: switch to remote mode

## Commands

Most driver commands work across local, remote, and CDP sessions after the daemon starts.

### Navigation
```bash
browse open <url>                        # Go to URL
browse open <url> --local                # Go to URL in a clean local browser
browse open <url> --remote               # Go to URL in a Browserbase session
browse reload                            # Reload current page
browse back                              # Go back in history
browse forward                           # Go forward in history
```

### Page state (prefer snapshot over screenshot)
```bash
browse snapshot                          # Get accessibility tree with element refs (fast, structured)
browse screenshot --path <path>          # Take visual screenshot (slow, uses vision tokens)
browse get url                           # Get current URL
browse get title                         # Get page title
browse get text <selector>               # Get text content (use "body" for all text)
browse get html <selector>               # Get HTML content of element
browse get value <selector>              # Get form field value
```

Use `browse snapshot` as your default for understanding page state — it returns the accessibility tree with element refs you can use to interact. Only use `browse screenshot` when you need visual context (layout, images, debugging).

### Interaction
```bash
browse click <ref>                       # Click element by ref from snapshot (e.g., @0-5)
browse type <text>                       # Type text into focused element
browse fill <selector> <value>           # Fill input; add --press-enter if Enter is needed
browse select <selector> <values...>     # Select dropdown option(s)
browse press <key>                       # Press key (Enter, Tab, Escape, Cmd+A, etc.)
browse mouse drag <fromX> <fromY> <toX> <toY>  # Drag from one point to another
browse mouse scroll <x> <y> <deltaX> <deltaY>  # Scroll at coordinates
browse highlight <selector>              # Highlight element on page
browse is visible <selector>             # Check if element is visible
browse is checked <selector>             # Check if element is checked
browse wait <type> [arg]                 # Wait for: load, selector, timeout
```

### Session management
```bash
browse stop                              # Stop the browser daemon
browse status                            # Check daemon status and resolved mode
browse tab list                          # List all open tabs
browse tab switch <index-or-target-id>   # Switch to tab by index or target ID
browse tab close [index-or-target-id]    # Close tab
```

### Typical workflow
If the environment matters, put `--local`, `--remote`, `--auto-connect`, or `--cdp <port|url>` on the first browser command.

1. `browse open <url> --local` or `browse open <url> --remote` — navigate to the page
2. `browse snapshot` — read the accessibility tree to understand page structure and get element refs
3. `browse click <ref>` / `browse type <text>` / `browse fill <selector> <value>` — interact using refs from snapshot
4. `browse snapshot` — confirm the action worked
5. Repeat 3-4 as needed
6. `browse stop` — close the browser when done

## Quick Example

```bash
browse open https://example.com
browse snapshot                          # see page structure + element refs
browse click @0-5                        # click element with ref 0-5
browse get title
browse stop
```

## Mode Comparison

| Feature | Local | Browserbase |
|---------|-------|-------------|
| Speed | Faster | Slightly slower |
| Setup | Chrome required | API key required |
| Reuse existing local cookies | With `browse open <url> --auto-connect` | N/A |
| Verified browser | No | Yes (Browserbase Verified browser via Identity) |
| CAPTCHA solving | No | Yes (automatic reCAPTCHA/hCaptcha) |
| Residential proxies | No | Yes (201 countries, geo-targeting) |
| Session persistence | No | Yes (cookies/auth persist via contexts) |
| Best for | Development/simple pages | Protected sites, Browserbase Identity + Verified access, production scraping |

## Best Practices

1. **Choose the local strategy deliberately**: use `browse open <url> --local` for clean state, `browse open <url> --auto-connect` for existing local credentials, and `browse open <url> --remote` for protected sites
2. **Always `browse open` first** before interacting
3. **Use `browse snapshot`** to check page state — it's fast and gives you element refs
4. **Only screenshot when visual context is needed** (layout checks, images, debugging)
5. **Use refs from snapshot** to click/interact — e.g., `browse click @0-5`
6. **`browse stop`** when done to clean up the browser session and clear the env override

## Troubleshooting

- **"No active page"**: Run `browse stop`, then check `browse status`. If it still says running, kill the zombie daemon with `pkill -f "browse.*daemon"`, then retry `browse open`
- **Chrome not found**: Install Chrome, use `browse open <url> --auto-connect` if you already have a debuggable Chrome running, or switch to `browse open <url> --remote`
- **Action fails**: Run `browse snapshot` to see available elements and their refs
- **Browserbase fails**: Verify API key is set

## Switching to Remote Mode

Switch to remote when you detect: CAPTCHAs (reCAPTCHA, hCaptcha, Turnstile), bot detection pages ("Checking your browser..."), HTTP 403/429, empty pages on sites that should have content, or the user asks for it.

Don't switch for simple sites (docs, wikis, public APIs, localhost).

```bash
browse open <url> --local          # clean isolated local browser
browse open <url> --auto-connect   # attach to existing debuggable Chrome
browse open <url> --remote         # Browserbase session
```

Mode flags are applied when a session starts. After `browse stop`, the next start falls back to env-var-based auto detection. Use `browse status` to inspect the resolved mode and target while the daemon is running.

For detailed examples, see [EXAMPLES.md](EXAMPLES.md).
For API reference, see [REFERENCE.md](REFERENCE.md).

Todos los archivos

4 archivos
SKILL.md 8.5k
Ver

Instalar browser

Descarga y extrae los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

git clone https://github.com/browserbase/skills/tree/main/skills/browser # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuración rápida: Copia la carpeta de habilidades a .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio browserbase/skills

Habilidades relacionadas

github-code-search
Tiempo actualizado 29 de junio de 2026
drizzle-orm
Tiempo actualizado 29 de junio de 2026
prisma-client-api
Tiempo actualizado 29 de junio de 2026
clickhouse-io
Tiempo actualizado 29 de junio de 2026
OR