Esta página é uma referência de recursos relacionados ao console do Chrome DevTools. Ele pressupõe que você já esteja familiarizado com o uso do console para visualizar mensagens registradas e executar o JavaScript. Caso contrário, consulte Primeiros passos.
Se você está procurando a referência da API em funções como console.log()
, consulte a Referência da
API Console. Para consultar a referência de funções como monitorEvents()
, consulte a Referência da API Console Utilities.
Abrir o console
É possível abrir o Console como um painel ou como uma aba na gaveta.
Abrir o painel do console
Pressione Control+Shift+J ou Command+Option+J (Mac).
Para abrir o console no Menu de comando, comece a digitar Console
e execute o comando Show
Console que tem o selo Panel ao lado.
Abrir o console na gaveta
Pressione Escape ou clique em Customize And Control DevTools e selecione Show Console Drawer.
A gaveta aparece na parte de baixo da janela do DevTools com a guia Console aberta.
Para abrir a guia do console no menu de comando, comece a digitar Console
e execute o comando Show
Console que tem o selo Drawer ao lado.
Abrir as configurações do console
Clique em Configurações do console no canto superior direito do Console.
Os links abaixo explicam cada configuração:
- Ocultar rede
- Preservar registro
- Apenas o contexto selecionado
- Agrupar mensagens parecidas no console
- Mostrar erros do CORS no console
- Registrar XMLHttpRequests
- Avaliação estrita
- Preenchimento automático usando o histórico
Abrir a barra lateral do console
Clique em Mostrar a barra lateral do console para mostrar a barra lateral, que é útil para filtrar.
Veja as mensagens
Esta seção contém recursos que mudam a forma como as mensagens são apresentadas no console. Consulte Conferir mensagens para conferir um tutorial prático.
Desativar agrupamento de mensagens
Abra as configurações do console e desative a opção Group similar para desativar o comportamento de agrupamento de mensagens padrão do console. Consulte Registrar solicitações XHR e Fetch para ver um exemplo.
Ver mensagens de pontos de interrupção
O console marca as mensagens acionadas por pontos de interrupção da seguinte maneira:
console.*
chama pontos de interrupção condicionais com um ponto de interrogação laranja?
- Mensagens de logpoint com dois pontos rosa
..
Para acessar o editor de pontos de interrupção inline no painel Sources, clique no link de âncora ao lado da mensagem do ponto de interrupção.
Conferir rastros de pilha
O console captura automaticamente os stack traces de erros e avisos. Um stack trace é um histórico de chamadas de função (frames) que levaram ao erro ou aviso. O console mostra os frames na ordem inversa: o mais recente fica na parte de cima.
Para conferir um stack trace, clique no ícone de expansão ao lado de um erro ou aviso.
Conferir as causas de erros em stack traces
O Console pode mostrar cadeias de causas de erro no stack trace, se houver.
Para facilitar a depuração, especifique as causas de erros ao capturar e gerar novamente erros. À medida que o console avança na cadeia de causas, ele imprime cada pilha de erros com um prefixo Caused by:
para que você possa encontrar o erro original.
Conferir stack traces assíncronos
Se o framework que você está usando oferece suporte ou se você está usando diretamente primitivas de programação do navegador, como setTimeout
, o DevTools pode rastrear operações assíncronas vinculando as duas partes do código assíncrono.
Nesse caso, o stack trace mostra a "história completa" da operação assíncrona.
Mostrar frames de terceiros conhecidos em stack traces
Quando os mapas de origem incluem o campo ignoreList
, por padrão, o Console oculta dos rastros de pilha os frames de terceiros de origens geradas por agrupadores (por exemplo, webpack) ou frameworks (por exemplo, Angular).
Para conferir o stack trace completo, incluindo frames de terceiros, clique em Mostrar mais N frames na parte de baixo do stack trace.
Para sempre visualizar o stack trace completo, desative a configuração Settings > Ignore List > Automatically add known third-party scripts to ignore list.
Registrar solicitações XHR e Fetch
Abra as configurações do console e ative Registrar XMLHttpRequests para registrar todas as solicitações XMLHttpRequest
e
Fetch
para o console conforme elas acontecem.
A mensagem de cima no exemplo acima mostra o comportamento de agrupamento padrão do console. O exemplo abaixo mostra como o mesmo registro fica depois de desativar o agrupamento de mensagens.
Manter as mensagens nos carregamentos de página
Por padrão, o Console é limpo sempre que você carrega uma nova página. Para manter as mensagens nos carregamentos de página, abra as configurações do console e marque a caixa de seleção Preserve registro.
Ocultar mensagens de rede
Por padrão, o navegador registra mensagens de rede no Console. Por exemplo, a mensagem principal no exemplo a seguir representa um 404.
Para ocultar mensagens de rede:
- Abra as configurações do console.
- Marque a caixa de seleção Ocultar rede.
Mostrar ou ocultar erros do CORS
O Console pode mostrar erros de CORS se as solicitações de rede falharem devido ao Compartilhamento de recursos entre origens (CORS).
Para mostrar ou ocultar erros do CORS:
- Abra as configurações do console.
- Marque ou desmarque a caixa de seleção Mostrar erros do CORS no console.
Se o console estiver configurado para mostrar erros do CORS e você encontrar algum, clique nos botões a seguir ao lado dos erros:
- para abrir a solicitação com um
TypeError
relacionado à CORS no painel Network. - para encontrar uma possível solução na guia Problemas.
Filtrar mensagens
Há muitas maneiras de filtrar mensagens no console.
Filtrar mensagens do navegador
Abra a barra lateral do console e clique em Mensagens do usuário para mostrar apenas as mensagens que vieram do JavaScript da página.
Filtrar por nível de registro
O DevTools atribui a maioria dos níveis de gravidade dos métodos console.*
.
Existem quatro níveis:
Verbose
Info
Warning
Error
Por exemplo, console.log()
está no grupo Info
, enquanto
console.error()
está no grupo Error
. A referência da API Console descreve o nível de gravidade
de cada método aplicável.
Todas as mensagens que o navegador registra no console também têm um nível de gravidade. Você pode ocultar qualquer nível de mensagens que não sejam do seu interesse. Por exemplo, se você
só tiver interesse nas mensagens Error
, poderá ocultar os outros três grupos.
Clique no menu suspenso Níveis de registro para ativar ou desativar as mensagens
Verbose
, Info
, Warning
ou Error
.
Também é possível filtrar por nível de registro abrindo a barra lateral do console e clicando em Errors, Warnings, Info ou Verbose.
Filtrar mensagens por URL
Digite url:
seguido de um URL para ver apenas as mensagens que vieram desse URL. Depois de digitar url:
,
o DevTools mostra todos os URLs relevantes.
Os domínios também funcionam. Por exemplo, se https://example.com/a.js
e
https://example.com/b.js
estiverem registrando mensagens, url:https://example.com
permitirá que você se concentre nas
mensagens desses dois scripts.
Para ocultar todas as mensagens de um URL específico, digite -url:
seguido pelo URL, por exemplo, https://b.wal.co
. Esse é um filtro de URL negativo.
Você também pode mostrar mensagens de um único URL abrindo a barra lateral do console, expandindo a seção Mensagens do usuário e clicando no URL do script que contém as mensagens em que você quer se concentrar.
Filtrar mensagens de diferentes contextos
Digamos que você tenha um anúncio na sua página. O anúncio está incorporado em um <iframe>
e está gerando
muitas mensagens no seu console. Como esse anúncio está em um contexto JavaScript diferente, uma maneira de
esconder as mensagens é abrir as configurações do console e ativar a caixa de seleção Selected Context Only.
Filtrar mensagens que não correspondem a um padrão de expressão regular
Digite uma expressão regular, como /[foo]\s[bar]/
, na caixa de texto Filtro para filtrar as
mensagens que não correspondem a esse padrão. Não é possível usar espaços. Use \s
. O DevTools verifica se o padrão foi encontrado no texto da mensagem
ou no script que causou o registro da mensagem.
Por exemplo, o exemplo a seguir filtra todas as mensagens que não correspondem a /[gm][ta][mi]/
.
Pesquisar texto nos registros
Para pesquisar texto em mensagens de registro:
- Para abrir uma barra de pesquisa integrada, pressione Command+F (Mac) ou Ctrl+F (Windows, Linux).
- Na barra, digite sua consulta. Neste exemplo, a consulta é
legacy
. Você também pode:- Clique em Diferenciar maiúsculas de minúsculas para que sua consulta diferencie maiúsculas de minúsculas.
- Clique em Usar expressão regular para pesquisar com uma expressão RegEx.
- Pressione Enter. Para ir para o resultado da pesquisa anterior ou seguinte, pressione o botão para cima ou para baixo.
Executar JavaScript
Esta seção contém recursos relacionados à execução de JavaScript no console. Consulte Executar JavaScript para conferir um tutorial prático.
Opções de cópia de strings
Por padrão, o console gera strings como literais JavaScript válidos. Clique com o botão direito do mouse em uma saída e escolha entre três opções de cópia:
- Copiar como literal do JavaScript. Escapa caracteres especiais apropriados e envolve a string em aspas simples, aspas duplas ou chaves invertidas, dependendo do conteúdo.
- Copiar o conteúdo da string. Copia a string bruta exata para a área de transferência, incluindo novas linhas e outros caracteres especiais.
- Copiar como literal JSON. Formata a string para JSON válido.
Refazer a execução de expressões do histórico
Pressione a tecla Seta para cima para percorrer o histórico de expressões JavaScript que você executou anteriormente no console. Pressione Enter para executar a expressão novamente.
Confira o valor de uma expressão em tempo real com as Expressões em tempo real
Se você digitar a mesma expressão JavaScript no console várias vezes, talvez seja mais fácil criar uma expressão em tempo real. Com as Expressões ao vivo, você digita uma expressão uma vez e a fixa na parte de cima do console. O valor da expressão é atualizado quase em tempo real. Consulte Observar valores de expressão JavaScript em tempo real com expressões ao vivo.
Desativar avaliação antecipada
Conforme você digita expressões JavaScript no Console, a Avaliação antecipada mostra uma visualização do valor de retorno dessa expressão. Abra as configurações do console e desative a caixa de seleção Eager Evaluation para desativar as visualizações de valor de retorno.
Acionar a ativação do usuário com avaliação
A ativação do usuário é o estado de uma sessão de navegação que depende das ações do usuário. Um estado "ativo" significa que o usuário está interagindo com a página ou interagiu desde o carregamento da página.
Para ativar o usuário com qualquer avaliação, abra as configurações do console e marque Tratar a avaliação do código como uma ação do usuário.
Desativar o preenchimento automático do histórico
À medida que você digita uma expressão, o pop-up de preenchimento automático do console mostra as expressões executadas
anteriormente. Essas expressões são precedidas pelo caractere >
. No exemplo a seguir, as Ferramentas do desenvolvedor avaliaram anteriormente document.querySelector('a')
e document.querySelector('img')
.
Abra as configurações do console e desmarque a caixa de seleção Preenchimento automático do histórico para que as expressões do histórico parem de aparecer.
Selecionar o contexto do JavaScript
Por padrão, o menu suspenso JavaScript Context está definido como top, o que representa o contexto de navegação do documento principal.
Suponha que você tenha um anúncio na sua página incorporado em um <iframe>
. Você deseja executar o JavaScript
para ajustar o DOM do anúncio. Para fazer isso, primeiro selecione o contexto de navegação do anúncio no menu suspenso Contexto do JavaScript.
Inspecionar propriedades do objeto
O Console pode mostrar uma lista interativa de propriedades de um objeto JavaScript especificado.
Para navegar pela lista, digite o nome do objeto no Console e pressione Enter.
Para inspecionar as propriedades de objetos DOM, siga as etapas em Conferir as propriedades de objetos DOM.
Detectar propriedades próprias e herdadas
O console classifica as propriedades do próprio objeto primeiro e as destaca em negrito.
As propriedades herdadas da cadeia de protótipos estão em fonte normal. O Console os exibe no próprio objeto avaliando os respectivos manipuladores nativos de objetos integrados.
Avaliar os acessórios personalizados
Por padrão, o DevTools não avalia os acionadores que você cria.
Para avaliar um acessório personalizado em um objeto, clique em (...)
.
Identificar propriedades enumeráveis e não enumeráveis
As propriedades enumeráveis são coloridas. As propriedades não enumeráveis são silenciadas.
As propriedades enumeráveis podem ser iteradas com a repetição for … in
ou o método Object.keys()
.
Detectar propriedades particulares de instâncias de classe
O Console designa propriedades particulares de instâncias de classe com um prefixo #
.
O Console também pode completar automaticamente propriedades privadas, mesmo quando você as avalia fora do escopo da classe.
Inspecionar propriedades JavaScript internas
Usando a notação ECMAScript, o console inclui algumas propriedades internas do JavaScript em colchetes quadrados duplos. Não é possível interagir com essas propriedades no código. No entanto, pode ser útil inspecionar os arquivos.
Você pode encontrar as seguintes propriedades internas em objetos diferentes:
- Qualquer objeto tem um
[[Prototype]]
. - Os wrappers primitivos têm uma propriedade
[[PrimitiveValue]]
. - Os objetos
ArrayBuffer
têm as seguintes propriedades: - Além das propriedades específicas de
ArrayBuffer
, os objetosWebAssembly.Memory
têm uma propriedade[[WebAssemblyMemory]]
. - Coleções com chave (mapas e conjuntos) têm uma propriedade
[[Entries]]
que contém as entradas com chave. - Os objetos
Promise
têm as seguintes propriedades:[[PromiseState]]
: pendente, atendido ou rejeitado[[PromiseResult]]
:undefined
se pendente,<value>
se atendido,<reason>
se rejeitado
- Os objetos
Proxy
têm as seguintes propriedades: objeto[[Handler]]
, objeto[[Target]]
e[[isRevoked]]
(desativados ou não).
Inspecionar funções
Em JavaScript, as funções também são objetos com propriedades. No entanto, se você digitar o nome de uma função no Console, o DevTools vai chamar a função em vez de mostrar as propriedades dela.
Para ver as propriedades da função internas no JavaScript, use o comando console.dir().
As funções têm as seguintes propriedades:
[[FunctionLocation]]
: um link para a linha com a definição da função em um arquivo de origem.[[Scopes]]
. Lista valores e expressões aos quais a função tem acesso. Para inspecionar os escopos de função durante a depuração, consulte Visualizar e editar propriedades locais, de fechamento e globais.- As funções vinculadas têm as seguintes propriedades:
[[TargetFunction]]
. A meta debind()
.[[BoundThis]]
. O valor dethis
.[[BoundArgs]]
. Uma matriz de argumentos de função.
- As funções gerador são marcadas com uma propriedade
[[IsGenerator]]: true
. - Os geradores retornam objetos iteradores e têm as seguintes propriedades:
[[GeneratorLocation]]
: um link para uma linha com a definição do gerador em um arquivo de origem.[[GeneratorState]]
:suspended
,closed
ourunning.
[[GeneratorFunction]]
: o gerador que retornou o objeto.[[GeneratorReceiver]]
. Um objeto que recebe o valor.
Limpar o console
É possível usar qualquer um dos seguintes fluxos de trabalho para limpar o console:
- Clique em Limpar console .
- Clique com o botão direito do mouse em uma mensagem e selecione Limpar console.
- Digite
clear()
no console e pressione Enter. - Chame
console.clear()
do JavaScript da página da Web. - Pressione Control + L enquanto o console estiver em foco.