Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Средство "Консоль" — это отличный способ взаимодействия с веб-страницей в браузере. В средствах разработки вы обычно взаимодействуете с DOM с помощью средства "Проверка " для выбора элементов и с помощью средства "Элементы" для изменения модели DOM, например для добавления или изменения атрибутов или стилей элементов.
Средство Console также можно использовать для взаимодействия с DOM с помощью кода JavaScript. Например, можно найти элементы в дереве DOM и управлять ими с помощью API DOM.
Дополнительные сведения о средстве проверки см. в статье Анализ страниц с помощью средства проверки. Дополнительные сведения о средстве Elements см. в статье Проверка, изменение и отладка HTML и CSS с помощью средства Elements.
Поиск элемента в дереве DOM
Чтобы найти элемент в дереве DOM из средства Консоли , выполните следующие действия:
Перейдите на веб-страницу, которую вы хотите проверить. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Введите или вставьте следующий код в консоль и нажмите клавишу ВВОД.
document.querySelector('main');Элемент
<main>из дерева DOM отображается в консоли:
В консоли наведите указатель мыши на результирующий HTML-элемент
<main>или нажмите клавиши SHIFT+TAB. На отображаемой веб-странице DevTools выделяет соответствующий<main>элемент:
Изменение модели DOM веб-страницы
Вы можете внести изменения в дерево DOM веб-страницы с помощью средства Консоли . В этом примере вы задали значение атрибута элемента DOM с помощью консоли, чтобы повлиять на стили элемента: вы добавляете серый фон к <h1> заголовку страницы.
Перейдите на веб-страницу, которую вы хотите изменить. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Вставьте следующий код в консоль:
document.querySelector("h1").style.backgroundColor = "lightgrey";За заголовком страницы отображается серый фон:
Получение ссылки на элемент
На сложной веб-странице может быть трудно найти нужный элемент для изменения. Но вы можете использовать средство проверки , чтобы помочь вам. Предположим, вы хотите изменить текст первой ссылки в элементе Section 1 отображаемой страницы:
Чтобы получить ссылку на элемент link, который требуется изменить, выполните следующие действия:
Перейдите на веб-страницу, которую вы хотите проверить. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Щелкните инструмент Проверка (
), а затем на отображаемой веб-странице наведите указатель мыши на ссылку, например Ссылку 1:
Щелкните ссылку с наведенным курсором на отрисованную веб-страницу. DevTools открывает инструмент Элементы с выбранным соответствующим элементом:
Нажмите кнопку
...рядом с элементом в дереве DOM и выберите Копировать>путь JS:
Ниже приведен путь JS, который вы скопировали:
document.querySelector("body > main > section:nth-child(1) > ul > li:nth-child(1) > a")Приведенный выше путь представляет собой селектор CSS, указывающий на элемент link, выбранный с помощью средства проверки .
В консоли вставьте скопированный путь к JavaScript, но пока не нажимайте клавишу ВВОД .
Измените текст ссылки
Updated linkна . Для этого добавьте.textContent = "Updated link"в путь JavaScript, который вы вставили ранее:
Используйте все API-интерфейсы DOM, которые нужно изменить в дереве DOM в консоли. Чтобы сделать его более удобным, консоль поставляется с несколькими вспомогательными служебными методами.
Полезные служебные функции консоли
Многие удобные методы и сочетания клавиш доступны в качестве служебных функций в средстве консоли . Некоторые из этих служебных функций очень полезны для взаимодействия с деревом DOM веб-страницы и описаны ниже. Дополнительные сведения см. в разделе Функции и селекторы средств консоли.
Получение элементов с помощью функций и сочетаний клавиш $
Символ $ имеет особое значение в средстве Консоли :
Функции
$()и$$()являются более короткими версиямиdocument.querySelector()функций иdocument.querySelectorAll().$0,$1,$2,$3и$4— это сочетания клавиш для элементов, которые вы недавно выбрали в инструменте Элементы .$0всегда является последним выбранным элементом. Таким образом, в предыдущем примере Получение ссылки на элемент после выбора элемента с помощью средства "Проверка " можно изменить его текст с помощью$0.textContent = "Updated link"того же эффекта.$x()позволяет выбрать элементы DOM с помощью XPath.
Получение всех ссылок со страницы
В этом примере вы используете служебную $$() функцию для вывода списка всех ссылок на веб-странице. Затем вы используете эту функцию вместе с методом filter() массива, чтобы избавиться от ссылок, которые не начинаются с https (например, ссылок привязки на текущей веб-странице), чтобы отфильтровать список, чтобы включить только внешние ссылки.
Перейдите на веб-страницу, с которой вы хотите получить ссылки. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы получить список всех ссылок на странице, введите следующий код в консоли и нажмите клавишу ВВОД:
$$('a');
$$('a')является сокращением отdocument.querySelectorAll('a').Разверните список ссылок, зарегистрированных в консоли, а затем разверните первый объект ссылки. Отображаются свойства ссылки:
Чтобы уменьшить объем информации, возвращаемой функцией
$$(), используйтеmap()метод array. Методmap()работает, так как$$()функция возвращает массив.$$('a').map(a => { return {url: a.getAttribute("href"), text: a.innerText} });Приведенный выше код возвращает массив всех ссылок, где каждый объект ссылки сопоставляется с объектами
urlJavaScript со свойствами иtext.Разверните несколько возвращаемых объектов ссылки, чтобы увидеть их свойства:
Чтобы вывести список только внешних ссылок, используйте
filter()метод массива, чтобы избавиться от ссылок, которые не начинаются сhttps:$$('a').map(a => { return {url: a.getAttribute("href"), text: a.innerText} }).filter(a => { return a.url.startsWith("https"); });
Отображение элементов DOM в таблице
В предыдущем примере вы отображали список элементов со страницы в консоли. Элементы отображаются в виде массива JavaScript. Чтобы упростить использование списка элементов консоли, их можно отобразить в сортируемой таблице с помощью служебной console.table() функции:
Перейдите на веб-страницу, которую вы хотите проверить. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Вставьте следующий код в консоль и нажмите клавишу ВВОД:
console.table($$('img'), ['src','alt'])Список
<img>элементов на веб-странице отображается в консоли в виде таблицы, а атрибуты каждого изображенияsrcиaltв виде столбцов:
Получение всех заголовков страниц и URL-адресов привязки
В этом примере вы получите все заголовки веб-страницы с атрибутом id и создаете URL-адрес, указывающий на каждый заголовок.
Перейдите на веб-страницу, которую вы хотите проверить. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Скопируйте и вставьте следующий код в консоль и нажмите клавишу ВВОД:
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"));Результатом будет текст, содержащий содержимое для каждого заголовка раздела, за которым следует полный URL-адрес заголовка раздела:
Копирование сведений из консоли
В предыдущих примерах вы создали списки элементов и строк информации. Можно скопировать созданные сведения из консоли и вставить их в другое место.
Чтобы скопировать возвращаемое значение из выражения, выполняемого в консоли, используйте служебную copy() функцию:
Перейдите на веб-страницу, с которой вы хотите извлечь некоторые сведения. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы скопировать список всех URL-адресов изображений на странице, введите следующий код в консоли и нажмите клавишу ВВОД:
copy($$('img').map(img => img.src).join("\n"));Служебная
copy()функция может принимать любой аргумент, который можно преобразовать в строку, и копировать его в буфер обмена. В этом примере аргумент представляет собой строку, содержащую все URL-адреса изображений на странице, разделенные новой строкой.Откройте текстовый редактор, например Visual Studio Code, а затем вставьте URL-адреса скопированного изображения в редактор:
Очистка консоли
При выполнении кода в консоли часто возникает много входных инструкций и выходных результатов, которые больше не нужно отображать. Консоль можно очистить с помощью служебной clear() функции.
Вывод списка прослушивателей событий, назначенных элементу
Чтобы получить список всех прослушивателей событий, назначенных элементу, используйте служебную getEventListeners() функцию:
Перейдите на веб-страницу, которую вы хотите проверить. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Щелкните средство "Проверка ", а затем на отображаемой веб-странице щелкните одно из изображений, чтобы выбрать его. Отобразится инструмент Элементы , а выбранный элемент изображения выделен в дереве DOM:
Откройте консоль , введите следующий код и нажмите клавишу ВВОД:
getEventListeners($0);В приведенном выше фрагменте
$0кода является ярлыком для выбранного<img>в данный момент элемента в инструменте Элементы . СлужебнаяgetEventListeners()функция возвращает объект, содержащий все прослушиватели событий, назначенные изображению.Разверните объект, а затем разверните единственный прослушиватель событий в списке, чтобы просмотреть свойства прослушивателя. Свойство
listenerпоказывает имя функции, вызываемой при активации события (в этом примереshowImage):
Мониторинг событий, активированных на странице
Веб-сайты, использующие JavaScript, часто реагируют на события пользователей, происходящие в браузере. Отслеживать все события, активированные браузером, может быть трудно. Служебная monitorEvents() функция позволяет отслеживать события, которые активируются на веб-странице.
Мониторинг всех событий в элементе
Чтобы начать мониторинг событий, выполните приведенные далее действия.
Перейдите на веб-страницу, которую вы хотите отслеживать. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы начать мониторинг событий, активируемых в элементе, например для одного из
<img>элементов, введите следующий код в консоли и нажмите клавишу ВВОД:monitorEvents(document.querySelector('img'));Приведенный выше код отслеживает все события, которые активируются в первом
<img>элементе на странице.На отображаемой веб-странице наведите указатель мыши на изображение и наведите указатель мыши или вкладку на изображение с помощью клавиатуры. Такие события, как
mouseover,mousemoveиfocusрегистрируются в консоли:
При мониторинге событий вы получаете журналы в консоли каждый раз, когда событие активируется браузером. Это может привести к возникновению большого шума в консоли. Вы также можете отслеживать определенные события в элементе.
Мониторинг определенных событий в элементе
Чтобы начать мониторинг определенных событий в элементе, выполните указанные действия.
Перейдите на веб-страницу, которую вы хотите отслеживать. Например, откройте демонстрационную страницу взаимодействия DOM в консоли DevTools в новой вкладке или окне.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы начать мониторинг только событий указателя мыши, мыши и щелчка, которые активируются для первого
<img>элемента на странице, введите следующий код в консоли и нажмите клавишу ВВОД:monitorEvents(document.querySelector('img'), ['mousedown', 'mouseup', 'click']);На отображаемой веб-странице щелкните первое изображение.
mousedownСобытия ,mouseupиclickрегистрируются в консоли:
Мониторинг событий в окне
Чтобы получать уведомление в консоли при каждом прокрутке или изменении размера окна:
Вставьте следующий код в консоль:
monitorEvents(window, ['resize', 'scroll']);Прокрутите страницу и измените размер окна браузера. Консоль регистрирует события, которые активируются:
Остановить мониторинг событий
При мониторинге событий в DOM консоль может заиметь. Чтобы остановить события мониторинга, используйте служебную unmonitorEvents() функцию:
unmonitorEvents(document.querySelector('img'));
unmonitorEvents(document.querySelector('img'), ['mousedown', 'mouseup', 'click']);
unmonitorEvents(window, ['resize', 'scroll']);
Сохранение скриптов взаимодействия DOM в виде фрагментов кода
Если вы несколько раз вводите один и тот же код взаимодействия DOM в консоли, вместо этого попробуйте сохранить код в виде фрагмента кода, а затем запустить его. Фрагменты сохраняются в средстве "Источники" , и их можно запускать оттуда или из меню "Команда". Дополнительные сведения см. в статье Запуск фрагментов Кода JavaScript на любой веб-странице.