---
id: "navegador-automacao-navegacao"
titulo: "Automação: navegação e leitura da página"
resumo: "Comandos que abrem endereços, capturam a estrutura da página, esperam condições e exportam conteúdo."
idioma: "pt-br"
tipo: "referencia"
categoria: "telas"
aplicavelDesde: "0.0.16"
capabilities: ["browser.page.navigate", "browser.snapshot", "browser.screenshot", "browser.scroll", "browser.pdf", "browser.script.eval", "browser.wait"]
estadoEditorial: "aprovado"
nivelEvidencia: "artefato-distribuido"
refFonte: "27574c339b58316408f6be2d62169d59041d07bf"
revisaoFonte: "2026-09-24"
revisor: "mantenedor (v1, 2026-10-03)"
rota: "/docs/pt-br/ferramentas/navegador/automacao-referencia-navegacao/"
fonte: "pt-br/ferramentas/navegador/automacao-referencia-navegacao.md"
caminhoPublico: "docs/publica/pt-br/ferramentas/navegador/automacao-referencia-navegacao.md"
hashFonte: "sha256:04389174dcf0fd7420d57b83f8aa7f807d2701b7dfd389cae9274340bc16a272"
hashDestaPagina: "sha256:04389174dcf0fd7420d57b83f8aa7f807d2701b7dfd389cae9274340bc16a272"
traducaoAssistidaPorIA: false
traducaoDesatualizada: false
corpoRetido: false
---
Os comandos abaixo agem na **aba ativa** do navegador. Comandos, flags e valores são **literais** — não são traduzidos.

## Como escolher o alvo

| Flag | Alvo |
|---|---|
| `--page <id>` | Uma página específica, pelo identificador global |
| `--node <cartão>` | A aba referenciada por um cartão do Canvas |
| `--workspace <seletor>` | O workspace |

- **`--page` e `--node` juntos são erro.**
- Sem nenhum dos três, o alvo é a **aba ativa do workspace do diretório atual**.
- Um cartão resolve o **workspace do cartão**, não o do diretório de onde você chamou.

## Navegar

```
elyra goto --url <url> [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
elyra back [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
elyra forward [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
elyra reload [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
```

- `goto` **exige `--url`**.
- `goto` e `reload` esperam a rede ficar ociosa, com **timeout de 60 s** na chamada.
- A resposta traz **URL e título** resultantes; `back` e `forward` trazem a URL de destino.
- `goto` aceita qualquer URL `http(s)` ou arquivo — é a porta de entrada de conteúdo externo no navegador embutido.

## Ler a página

```
elyra snapshot [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
```

`snapshot` devolve a **árvore de acessibilidade** da aba ativa. É a fonte dos `ref` usados por `--element` nos comandos de interação.

> **Um `ref` fica obsoleto depois de navegar.** A própria CLI recomenda tirar um novo snapshot depois de agir, para conferir o que assentou.

## Capturar imagem e PDF

```
elyra screenshot [--format <png|jpeg>] [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
elyra full-screenshot [--format <png|jpeg>] [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
elyra pdf [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
```

- `screenshot` captura a viewport; `full-screenshot` captura a página inteira.
- `--format` aceita **`png` ou `jpeg`**. Qualquer outro valor é recusado — inclusive `webp`.
- `full-screenshot` normaliza qualquer formato diferente de `jpeg` para `png`.
- `pdf` exporta a aba e **reporta o tamanho do conteúdo gerado**. PDFs grandes trafegam em base64 na resposta.

## Rolar

```
elyra scroll --direction <up|down> [--amount <pixels>] [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
```

`--direction` é obrigatório e só aceita `up` ou `down`; outro valor falha com erro de argumento. `--amount` é opcional.

## Esperar

```
elyra wait [--selector <sel>] [--text <texto>] [--url <padrão>] [--load <estado>] [--fn <js>] [--state <hidden|visible>] [--timeout <ms>] [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
```

Formas de espera aceitas: elemento por seletor, texto, padrão de URL, estado de carga, condição em JavaScript e visibilidade (`hidden` ou `visible`).

- O timeout padrão da chamada é de **60 s**; ao informar `--timeout`, o orçamento passa a ser o valor informado mais 5 s.
- **Uma espera longa sem `--timeout` pode estourar o orçamento de quem chamou.**

## Executar código na página

```
elyra eval --expression <js> [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
elyra exec --command "<comando agent-browser>" [--page <id> | --node <cartão>] [--workspace <seletor>] [--json]
```

- `eval` exige `--expression` e devolve o resultado da expressão.
- `exec` repassa um comando bruto ao navegador da aba ativa e devolve a saída crua.
- **`exec` não é validado pela CLI além de exigir `--command`.**

> **`eval` e `exec` rodam código arbitrário no contexto da página** — poder total sobre a aba, incluindo o que estiver logado nela. Use apenas em páginas e perfis que você aceita expor, e nunca em um perfil com sessão real sem necessidade.
