Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La herramienta Consola es una forma excelente de interactuar con la página web en el explorador. En DevTools, normalmente se interactúa con el DOM mediante la herramienta Inspeccionar para seleccionar elementos y mediante la herramienta Elementos para modificar el DOM, por ejemplo, para agregar o cambiar atributos o estilos de elementos.
La herramienta Consola también se puede usar para interactuar con el DOM mediante código JavaScript. Por ejemplo, puede buscar elementos en el árbol del DOM y manipularlos mediante las API del DOM.
Para obtener más información sobre la herramienta Inspeccionar , consulte Analizar páginas con la herramienta Inspeccionar. Para obtener más información sobre la herramienta Elementos , consulte Inspección, edición y depuración de HTML y CSS con la herramienta Elementos.
Buscar un elemento en el árbol del DOM
Para buscar un elemento en el árbol DOM desde la herramienta Consola :
Vaya a la página web que desee inspeccionar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Escriba o pegue el código siguiente en la consola y, a continuación, presione Entrar.
document.querySelector('main');El
<main>elemento del árbol DOM se muestra en la consola:
En la Consola, mantenga el puntero sobre el elemento HTML
<main>resultante o pulse Mayús+Tab. En la página web representada, DevTools resalta el elemento correspondiente<main>:
Cambiar el DOM de la página web
Puede realizar cambios en el árbol DOM de la página web desde la herramienta Consola . En este ejemplo, establece el valor de un atributo de elemento DOM mediante la Consola para afectar al estilo del elemento: agrega un fondo gris al <h1> título de la página.
Vaya a la página web que quiera cambiar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Pegue el siguiente código en la consola:
document.querySelector("h1").style.backgroundColor = "lightgrey";Aparece un fondo gris detrás del título de la página:
Obtener una referencia a un elemento
En una página web compleja, puede ser difícil encontrar el elemento adecuado para cambiar. Pero puede usar la herramienta Inspeccionar para ayudarle. Suponga que desea cambiar el texto del primer vínculo dentro del elemento Sección 1 de la página representada:
Para obtener una referencia al elemento de vínculo que desea cambiar:
Vaya a la página web que desee inspeccionar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Haga clic en la herramienta Inspeccionar (
) y, a continuación, en la página web representada, mantenga el puntero sobre un vínculo, como Vínculo 1:
Haga clic en el vínculo mantenido en la página web representada. DevTools abre la herramienta Elementos , con el elemento correspondiente seleccionado:
Haga clic en el
...botón situado junto al elemento en el árbol DOM y, a continuación, seleccione Copiar>Copiar ruta de acceso de JS:
Esta es la ruta de acceso de JS que copió:
document.querySelector("body > main > section:nth-child(1) > ul > li:nth-child(1) > a")La ruta anterior es un selector CSS que apunta al elemento de vínculo que seleccionó mediante la herramienta Inspeccionar .
En la Consola, pegue la ruta de JavaScript que copió, pero no pulse Entrar todavía.
Cambie el texto del vínculo a
Updated link. Para ello, agregue.textContent = "Updated link"a la ruta de JavaScript que pegó anteriormente:
Use las API DOM en las que desee cambiar el árbol DOM en la Consola. Para hacerlo más cómodo, la consola viene con algunos métodos de utilidad auxiliar.
Funciones útiles de utilidad de consola
Muchos métodos prácticos y accesos directos están disponibles como funciones de utilidad en la herramienta Consola . Algunas de estas funciones de utilidad son muy útiles para interactuar con el árbol DOM de una página web, y se describen a continuación. Para obtener más información, consulte Funciones y selectores de utilidad de herramienta de consola.
Obtener elementos con las funciones $ y los métodos abreviados
El $ carácter tiene un significado especial en la herramienta Consola :
Las
$()funciones y$$()son versiones más cortas de lasdocument.querySelector()funciones anddocument.querySelectorAll().$0,$1,$2,$3, y$4son accesos directos a elementos que ha seleccionado recientemente en la herramienta Elementos .$0es siempre el elemento seleccionado más recientemente. Por lo tanto, en el ejemplo anterior Obtener una referencia a un elemento, una vez que haya seleccionado el elemento mediante la herramienta Inspeccionar , puede cambiar su texto para$0.textContent = "Updated link"obtener el mismo efecto.$x()permite seleccionar elementos DOM mediante XPath.
Obtener todos los vínculos de la página
En este ejemplo, usa la $$() función de utilidad para enumerar todos los vínculos de la página web. Luego usa esa función junto con el método de filter() matriz para deshacerse de los enlaces que no comienzan ( https como los enlaces de anclaje en la presente página web), con el fin de filtrar la lista para incluir solo enlaces externos.
Vaya a la página web de la que desea obtener los vínculos. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Para obtener la lista de todos los vínculos de la página, escriba el código siguiente en la Consola y, a continuación, presione Entrar:
$$('a');
$$('a')es la abreviatura dedocument.querySelectorAll('a').Expanda la lista de vínculos que se registra en la consola y, a continuación, expanda el primer objeto de vínculo. Se muestran las propiedades del vínculo:
Para reducir la cantidad de información devuelta por la
$$()función, utilice elmap()método de matriz. Elmap()método funciona porque la$$()función devuelve una matriz.$$('a').map(a => { return {url: a.getAttribute("href"), text: a.innerText} });El código anterior devuelve una matriz de todos los vínculos, donde cada objeto de vínculo se asigna a un objeto JavaScript con las
urlpropiedades andtext.Expanda algunos de los objetos de vínculo devueltos para ver sus propiedades:
Para enumerar solo vínculos externos, use el
filter()método de matriz para deshacerse de los vínculos que no comienzan conhttps:$$('a').map(a => { return {url: a.getAttribute("href"), text: a.innerText} }).filter(a => { return a.url.startsWith("https"); });
Mostrar elementos DOM en una tabla
En el ejemplo anterior, ha mostrado una lista de elementos de la página en la Consola. Los elementos se muestran como una matriz de JavaScript. Para facilitar el uso de la lista de elementos en la Consola, puede mostrarlos en una tabla ordenable en su lugar, utilizando la console.table() función de utilidad:
Vaya a la página web que desee inspeccionar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Pegue el siguiente código en la consola y, a continuación, presione Entrar:
console.table($$('img'), ['src','alt'])La lista de elementos de la página web se muestra en la Consola, con formato de
<img>tabla, con los atributos yaltlassrcimágenes como columnas:
Obtener todos los encabezados de página y las URL de delimitador
En este ejemplo, obtiene todos los títulos de la página web que tienen un id atributo y genera una dirección URL que apunta a cada título.
Vaya a la página web que desee inspeccionar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Copie y pegue el siguiente código en la consola y, a continuación, presione Entrar:
let headings = $$('main [id]').filter(el => { return el.nodeName.startsWith('H'); }).map(el => { return `${el.innerText}: ${document.location.href}#${el.id}\n`; }); console.log(headings.join("\n"));El resultado es un texto que contiene el contenido de cada título de sección, seguido de la dirección URL completa del título de sección:
Copiar información desde la Consola
En los ejemplos anteriores, generó listas de elementos y cadenas de información. Puede resultar útil copiar la información generada desde la Consola y pegarla en otro lugar.
Para copiar el valor de retorno de una expresión que ejecute en la Consola, utilice la función de copy() utilidad:
Vaya a la página web de la que desea extraer información. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Para copiar la lista de todas las direcciones URL de imagen de la página, escribe el código siguiente en la consola y, a continuación, presiona Entrar:
copy($$('img').map(img => img.src).join("\n"));La
copy()función de utilidad puede tomar cualquier argumento que se pueda convertir en una cadena y copiarlo en el portapapeles. En este ejemplo, el argumento es una cadena que contiene todas las direcciones URL de imagen de la página, separadas por una nueva línea.Abra un editor de texto, como Visual Studio Code, y, a continuación, pegue las direcciones URL de imagen copiadas en el editor:
Borrar la consola
Cuando se ejecuta código en la consola, a menudo se termina con muchas instrucciones de entrada y resultados de salida que ya no es necesario mostrar. Puedes borrar la Consola mediante la función declear() utilidad.
Enumerar los detectores de eventos asignados a un elemento
Para enumerar todos los escuchas de eventos asignados a un elemento, use la función de getEventListeners() utilidad:
Vaya a la página web que desee inspeccionar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Haga clic en la herramienta Inspeccionar y, a continuación, en la página web representada, haga clic en una de las imágenes para seleccionarla. Se muestra la herramienta Elementos y el elemento de imagen seleccionado se resalta en el árbol DOM:
Abra la herramienta Consola , escriba el código siguiente y presione Entrar:
getEventListeners($0);En el fragmento de código anterior,
$0es un acceso directo al elemento seleccionado<img>actualmente en la herramienta Elementos . LagetEventListeners()función de utilidad devuelve un objeto que contiene todos los detectores de eventos asignados a la imagen.Expanda el objeto y, a continuación, expanda el único detector de eventos de la lista para ver las propiedades del agente de escucha. La
listenerpropiedad muestra el nombre de la función a la que se llama cuando se desencadena el evento (en este ejemplo,showImage):
Supervisar eventos desencadenados en la página
Los sitios web que usan JavaScript reaccionan a menudo a los eventos de usuario que ocurren en el explorador. Puede ser difícil realizar un seguimiento de todos los eventos desencadenados por el explorador. La monitorEvents() función de utilidad permite supervisar los eventos que se desencadenan en la página web.
Supervisar todos los eventos de un elemento
Para iniciar la supervisión de eventos:
Vaya a la página web que desee supervisar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Para empezar a supervisar los eventos activados en un elemento, por ejemplo, en uno de los
<img>elementos, escriba el código siguiente en la consola y, a continuación, presione Entrar:monitorEvents(document.querySelector('img'));El código anterior supervisa todos los eventos que se activan en el primer
<img>elemento de la página.En la página web representada, mueva el puntero sobre la imagen y mueva el mouse o tabulador a la imagen con el teclado. Eventos como
mouseover,mousemove, yfocusse registran en la Consola:
Cuando supervisa eventos, obtendrá registros en la Consola cada vez que el explorador active un evento. Esto puede provocar mucho ruido en la consola. También puede supervisar eventos específicos en un elemento.
Supervisar eventos específicos en un elemento
Para empezar a supervisar eventos específicos en un elemento:
Vaya a la página web que desee supervisar. Por ejemplo, abra la página de demostración de interacciones DOM de la herramienta DevTools Console en una pestaña o ventana nueva.
Presione Ctrl+Mayús+J (Windows, Linux) o Comando+Opción+J (macOS). La herramienta Consola se abre en DevTools, junto a la página web.
Para iniciar la supervisión solo de los eventos mousedown, mouseup y click que se activan en el primer
<img>elemento de la página, escriba el código siguiente en la consola y, a continuación, presione Entrar:monitorEvents(document.querySelector('img'), ['mousedown', 'mouseup', 'click']);En la página web representada, haga clic en la primera imagen.
mousedown,mouseupyclicklos eventos se registran en la Consola:
Supervisar eventos en la ventana
Para recibir una notificación en la Consola cada vez que se desplace o cambie el tamaño de la ventana:
Pegue el siguiente código en la consola:
monitorEvents(window, ['resize', 'scroll']);Desplácese por la página y cambie el tamaño de la ventana del explorador. La Consola registra los eventos que se desencadenan:
Detener eventos de supervisión
Mientras se supervisan los eventos en el DOM, la consola puede hacer ruido. Para detener la supervisión de eventos, utilice la función de unmonitorEvents() utilidad:
unmonitorEvents(document.querySelector('img'));
unmonitorEvents(document.querySelector('img'), ['mousedown', 'mouseup', 'click']);
unmonitorEvents(window, ['resize', 'scroll']);
Guardar scripts de interacción DOM como fragmentos de código
Si introduces el mismo código de interacción DOM repetidamente en la consola, considera la posibilidad de guardar el código como un fragmento y ejecutarlo. Los fragmentos de código se guardan en la herramienta Orígenes y puede ejecutarlos desde allí o desde el menú de comandos. Para obtener más información, consulta Ejecutar fragmentos de código de JavaScript en cualquier página web.