browser
browserbase/skills
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 tudoAutomaçã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 limpobrowse open <url> --auto-connect</url>conecta-se a um Chrome depurável já em execução; use--localquando não houver um Chrome depurável disponívelbrowse 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_KEYestá 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.
browse open <url> --local</url>oubrowse open <url> --remote</url>— navegar para a páginabrowse snapshot— ler a árvore de acessibilidade para entender a estrutura da página e obter referências de elementosbrowse click <ref></ref>/browse type <text></text>/browse fill <value></value>— interagir usando referências da capturabrowse snapshot— confirmar que a ação funcionou- Repetir 3-4 conforme necessário
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
| Recurso | Local | Browserbase |
|---|---|---|
| Velocidade | Mais rápido | Ligeiramente mais lento |
| Configuração | Chrome necessário | Chave de API necessária |
| Reutilizar cookies locais existentes | Com `browse open | N/A |
| Navegador verificado | Não | Sim (Navegador Verificado do Browserbase via Identidade) |
| Resolução de CAPTCHA | Não | Sim (reCAPTCHA/hCaptcha automático) |
| Proxies residenciais | Não | Sim (201 países, direcionamento geográfico) |
| Persistência de Sessão | Não | Sim (cookies/auth persistem via contextos) |
| Melhor para | Desenvolvimento/páginas simples | Sites protegidos, Identidade do Browserbase + Acesso Verificado, raspagem de produção |
Melhores Práticas
- 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 ebrowse open <url> --remote</url>para sites protegidos - Sempre execute
browse openprimeiro antes de interagir - Use
browse snapshotpara verificar o estado da página — é rápido e fornece referências de elementos - Tire captura de tela apenas quando o contexto visual for necessário (verificações de layout, imagens, depuração)
- Use referências da captura para clicar/interagir — ex.,
browse click @0-5 browse stopquando 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 verifiquebrowse status. Se ainda indicar em execução, mate o daemon zumbi compkill -f "browse.*daemon", depois tente novamentebrowse 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 parabrowse open <url> --remote</url> - Falha na ação: Execute
browse snapshotpara 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.
---
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).
Instalar browser
Baixe e extraia os arquivos de habilidade para o diretório .claude/skills/.
Baixar ZIPClone 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





Lar
