opção

Automatize interações com navegadores da web usando linguagem natural por meio de comandos CLI. Suporta sessões locais e remotas do Browserbase, com resolução de CAPTCHA, proxies residenciais e persistência de sessão.

...Expandir tudo
0
Tempo atualizado 30 de Setembro de 2026

Automação de Navegador

Automatize interações do navegador usando o CLI browse com o Claude.

Verificação de Configuração

Antes de executar qualquer comando do navegador, verifique se o CLI está disponível:

which browse || npm install -g browse

Seleção de Ambiente (Local vs Remoto)

O CLI suporta sinalizadores de ambiente explícitos por comando. Se você não fizer nada, a próxima sessão usará o Browserbase por padrão quando BROWSERBASE_API_KEY estiver definida, e o modo local caso contrário.

Modo Local

  • browse open <url> --local</url> inicia um navegador local isolado e limpo
  • browse open <url> --auto-connect</url> conecta-se a um Chrome depurável já em execução; use --local quando não houver um Chrome depurável disponível
  • browse open <url> --cdp <port></port></url> conecta-se a um destino CDP específico
  • Melhor para: desenvolvimento, localhost, sites confiáveis e execuções reproduzíveis

Modo Remoto (Browserbase)

  • browse open <url> --remote</url> inicia uma sessão do Browserbase
  • Sem um sinalizador local, o Browserbase também é o padrão quando BROWSERBASE_API_KEY está definida
  • Fornece: Identidade do Browserbase, navegadores verificados, resolução automática de CAPTCHA, proxies residenciais e persistência de sessão
  • Use o modo remoto quando: o site de destino tiver detecção de bots, CAPTCHAs, limitação de taxa por IP, proteção do Cloudflare ou exigir acesso específico por região geográfica
  • Obtenha as credenciais em https://browserbase.com/settings

Quando escolher qual

  • Testes locais repetíveis / estado limpo: browse open <url> --local</url>
  • Reutilizar seu login/cookies locais: browse open <url> --auto-connect</url>
  • Navegação simples (documentação, wikis, APIs públicas): o modo local é suficiente
  • Sites protegidos (muros de login, CAPTCHAs, anti-scraping): use o modo remoto
  • Se o modo local falhar com detecção de bots ou acesso negado: mude para o modo remoto

Comandos

A maioria dos comandos do driver funciona em sessões locais, remotas e CDP após o daemon iniciar.

Navegação

browse open <url>                        # Ir para a URL
browse open <url> --local                # Ir para a URL em um navegador local limpo
browse open <url> --remote               # Ir para a URL em uma sessão do Browserbase
browse reload                            # Recarregar a página atual
browse back                              # Voltar no histórico
browse forward                           # Avançar no histórico
</url></url></url>

Estado da página (prefira a captura de árvore de acessibilidade sobre a captura de tela)

browse snapshot                          # Obter árvore de acessibilidade com referências de elementos (rápido, estruturado)
browse screenshot --path <path>          # Tirar captura de tela visual (lento, usa tokens de visão)
browse get url                           # Obter URL atual
browse get title                         # Obter título da página
browse get text                # Obter conteúdo de texto (use "body" para todo o texto)
browse get html                # Obter conteúdo HTML do elemento
browse get value               # Obter valor do campo de formulário
</path>

Use browse snapshot como seu padrão para entender o estado da página — ele retorna a árvore de acessibilidade com referências de elementos que você pode usar para interagir. Use browse screenshot apenas quando precisar de contexto visual (layout, imagens, depuração).

Interação

browse click <ref>                       # Clicar em elemento por referência da captura (ex., @0-5)
browse type <text>                       # Digitar texto no elemento focado
browse fill  <value>           # Preencher entrada; adicione --press-enter se Enter for necessário
browse select  <values...>     # Selecionar opção(is) do menu suspenso
browse press <key>                       # Pressionar tecla (Enter, Tab, Escape, Cmd+A, etc.)
browse mouse drag <fromx><fromy><tox><toy>  # Arrastar de um ponto a outro
browse mouse scroll <x><y><deltax><deltay>  # Rolar nas coordenadas
browse highlight               # Destacar elemento na página
browse is visible              # Verificar se o elemento é visível
browse is checked              # Verificar se o elemento está marcado
browse wait <type> [arg]                 # Aguardar por: load, selector, timeout
</type></deltay></deltax></y></x></toy></tox></fromy></fromx></key></values...></value></text></ref>

Gerenciamento de Sessão

browse stop                              # Parar o daemon do navegador
browse status                            # Verificar status do daemon e modo resolvido
browse tab list                          # Listar todas as abas abertas
browse tab switch <index-or-target-id>   # Alternar para a aba por índice ou ID de destino
browse tab close [index-or-target-id]    # Fechar aba
</index-or-target-id>

Fluxo de trabalho típico

Se o ambiente for relevante, coloque --local, --remote, --auto-connect ou --cdp <port></port> no primeiro comando do navegador.

  1. browse open <url> --local</url> ou browse open <url> --remote</url> — navegar para a página
  2. browse snapshot — ler a árvore de acessibilidade para entender a estrutura da página e obter referências de elementos
  3. browse click <ref></ref> / browse type <text></text> / browse fill <value></value> — interagir usando referências da captura
  4. browse snapshot — confirmar que a ação funcionou
  5. Repetir 3-4 conforme necessário
  6. browse stop — fechar o navegador quando terminar

Exemplo Rápido

browse open https://example.com
browse snapshot                          # ver estrutura da página + referências de elementos
browse click @0-5                        # clicar em elemento com referência 0-5
browse get title
browse stop

Comparação de Modos

RecursoLocalBrowserbase
VelocidadeMais rápidoLigeiramente mais lento
ConfiguraçãoChrome necessárioChave de API necessária
Reutilizar cookies locais existentesCom `browse open --auto-connect`N/A
Navegador verificadoNãoSim (Navegador Verificado do Browserbase via Identidade)
Resolução de CAPTCHANãoSim (reCAPTCHA/hCaptcha automático)
Proxies residenciaisNãoSim (201 países, direcionamento geográfico)
Persistência de SessãoNãoSim (cookies/auth persistem via contextos)
Melhor paraDesenvolvimento/páginas simplesSites protegidos, Identidade do Browserbase + Acesso Verificado, raspagem de produção

Melhores Práticas

  1. Escolha a estratégia local deliberadamente: use browse open <url> --local</url> para estado limpo, browse open <url> --auto-connect</url> para credenciais locais existentes e browse open <url> --remote</url> para sites protegidos
  2. Sempre execute browse open primeiro antes de interagir
  3. Use browse snapshot para verificar o estado da página — é rápido e fornece referências de elementos
  4. Tire captura de tela apenas quando o contexto visual for necessário (verificações de layout, imagens, depuração)
  5. Use referências da captura para clicar/interagir — ex., browse click @0-5
  6. browse stop quando terminar para limpar a sessão do navegador e substituir a variável de ambiente

Solução de Problemas

  • "Nenhuma página ativa": Execute browse stop, depois verifique browse status. Se ainda indicar em execução, mate o daemon zumbi com pkill -f "browse.*daemon", depois tente novamente browse open
  • Chrome não encontrado: Instale o Chrome, use browse open <url> --auto-connect</url> se você já tiver um Chrome depurável em execução, ou mude para browse open <url> --remote</url>
  • Falha na ação: Execute browse snapshot para ver os elementos disponíveis e suas referências
  • Falha do Browserbase: Verifique se a chave de API está definida

Alternando para o Modo Remoto

Altere para o remoto quando detectar: CAPTCHAs (reCAPTCHA, hCaptcha, Turnstile), páginas de detecção de bots ("Verificando seu navegador..."), HTTP 403/429, páginas vazias em sites que deveriam ter conteúdo, ou se o usuário solicitar.

Não alterne para sites simples (documentação, wikis, APIs públicas, localhost).

browse open <url> --local          # navegador local isolado e limpo
browse open <url> --auto-connect   # conectar ao Chrome depurável existente
browse open <url> --remote         # sessão do Browserbase
</url></url></url>

Os sinalizadores de modo são aplicados quando uma sessão inicia. Após browse stop, a próxima inicialização volta para a detecção automática baseada em variáveis de ambiente. Use browse status para inspecionar o modo resolvido e o destino enquanto o daemon está em execução.

Para exemplos detalhados, consulte EXAMPLES.md. Para referência da API, consulte REFERENCE.md.

Ver no 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 os arquivos

4 arquivos
SKILL.md 8.5k
Ver

Instalar browser

Baixe e extraia os arquivos de habilidade para o diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

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

Copiar Copiar
Configuração rápida: Copie a pasta de habilidades para .claude/skills/ O Claude detectará e usará automaticamente a habilidade
Repositório browserbase/skills

Habilidades relacionadas

github-code-search
Tempo atualizado 29 de Junho de 2026
drizzle-orm
Tempo atualizado 29 de Junho de 2026
prisma-client-api
Tempo atualizado 29 de Junho de 2026
clickhouse-io
Tempo atualizado 29 de Junho de 2026
OR