🚀 Сэкономьте 48% на плане Премиум = Получите все функции всего за $2.08/месяц (Годовой план). Обновить сейчас

Почему обнаружение ключевых слов в видимом тексте пропускает скрытые данные и как это исправить

You've hit your limit. Please try again later.Retry

Вы настроили мониторинг ключевых слов, вы буквально видите слово, находящееся в HTML-коде страницы, когда открываете DevTools — и всё же оповещение никогда не срабатывает. Ничего не сломано. Стандартное обнаружение ключевых слов считывает видимый текст страницы: слова, которые человек действительно может прочитать на экране. Если отслеживаемое значение находится в скрытом элементе, атрибуте data- или встроенном скрипте, это реальные данные, но это не видимый текст, поэтому обычное обнаружение проходит мимо них.

Исправление — один флажок. На вкладке Detect Keyword расширения Auto Refresh от Extfy включите Find monitor text in source, и поиск ключевых слов переключится с отображаемого текста на полный исходный HTML-код — включая скрытые элементы, атрибуты и скрипты.

img
Английский 
Работает 
Интервал времени
Список обновления
Обнаружение ключевых слов
Введите ваши теги
in_stock 

Настройки уведомлений и выделения для ключевого слова

 Уведомить пользователя 

Когда ключевое слово найдено или выбран селектор
Когда ключевое слово не найдено или ни один селектор не соответствует

 Воспроизводить звук при найденном/ненайденном ключевом слове 

 Найти текст мониторинга в исходном коде 

Где на самом деле находятся скрытые данные

Современные страницы содержат гораздо больше информации в своей разметке, чем когда-либо показывают на экране. Ключевое слово, которое вас интересует, часто находится в одном из следующих мест:

  • Скрытые элементы — сообщение о состоянии, обёрнутое в display:none или visibility:hidden, ожидающее отображения скриптом.
  • Атрибуты data- — значения вроде data-availability="in_stock" или data-status="approved", которые управляют интерфейсом, но никогда не отображаются как текст.
  • Встроенные скрипты и JSON — объекты состояния, которые страница передаёт в блоке <script> и отображает позже с помощью JavaScript.
  • Атрибуты вроде title, alt и aria-label — читаются машинами и программами чтения с экрана, но невидимы для сопоставления текста.
  • HTML-комментарии и блоки шаблонов — разметка, оставленная разработчиками, которая всё ещё отражает реальное состояние страницы.

Почему обычное обнаружение ключевых слов не может увидеть это

Обнаружение видимого текста специально создано для соответствия интуитивному восприятию: оно читает страницу так, как это делает человек, после того как браузер отобразил всё содержимое, и учитывает только слова, которые действительно появляются на экране. Это делает его быстрым и сохраняет результаты чистыми — совпадение означает, что человек тоже мог бы увидеть это слово. Цена такой конструкции — слепая зона. Всё, что существует только в разметке, по определению не является видимым текстом, поэтому обнаружитель даже не проверяет это. Страница может содержать точную строку, которую вы ввели как ключевое слово, и обнаружение честно сообщит «не найдено», потому что в отображаемом виде её действительно нет.

Исправление: включите Find monitor text in source

  1. Откройте расширение Auto Refresh на странице, которую вы отслеживаете, и перейдите на вкладку Detect Keyword.
  2. Введите ключевое слово точно так, как оно отображается в исходном коде — например, in_stock, а не метку «In stock», которую страница может показать позже.
  3. Установите флажок Find monitor text in source.
  4. Нажмите Save. Начиная со следующей перезагрузки, каждая проверка будет сканировать полный исходный HTML-код — включая скрытые элементы и скрипты — вместо проверки только видимого текста.

Обнаружение видимого текста и исходного кода вкратце

  • Что считывается: режим видимого текста считывает отображаемую страницу, которую видит человек; режим исходного кода считывает необработанный HTML, отправленный сервером — каждый тег, атрибут, комментарий и встроенный скрипт.
  • Скорость: режим видимого текста легче; сканирование всего исходного кода выполняет больше работы при каждой перезагрузке, поэтому проверки могут быть немного тяжелее.
  • Ложные срабатывания: режим видимого текста редко ошибается; режим исходного кода может найти ключевое слово в фоновой разметке, которая не имеет отношения к отображаемому содержимому.
  • Лучше всего подходит для: режим видимого текста для повседневного мониторинга; режим исходного кода для разработчиков и опытных пользователей, отслеживающих значения, которые страница хранит, но не показывает.

Реальный пример: обнаружение изменения до того, как страница его покажет

Представьте страницу товара, которая показывает покупателям «Нет в наличии», в то время как разметка уже содержит data-availability="in_stock" — данные обновились, но интерфейс ещё не успел обновиться. Обнаружение видимого текста продолжает находить устаревшую метку «Нет в наличии». При включённой функции Find monitor text in source и ключевом слове in_stock Auto Refresh замечает изменение в тот момент, когда оно появляется в HTML, часто за мгновение до обновления видимой страницы. Этот же приём работает для скрытых флагов ошибок, состояний подтверждения в административных инструментах и любых значений, которые страница отображает с задержкой через JavaScript.

Сохраняйте точность поиска в исходном коде

  • Будьте конкретны.Short, common words appear all over a page's markup by accident; a distinctive string like in_stock or status-approved is far safer than stock.
  • Следите за ложными совпадениями. Если оповещения срабатывают, когда визуально ничего не изменилось, ваше ключевое слово совпадает с фоновой разметкой — уточните ключевое слово или переключите это правило обратно в режим видимого текста.
  • Включайте это для отдельных правил, а не везде. Если стандартное обнаружение уже находит нужное вам на странице, оставьте эту опцию выключенной там для более быстрых и чистых проверок.

Обнаружение видимого текста является правильным вариантом по умолчанию — до тех пор, пока то, что вы отслеживаете, действительно не отображается. Когда ключевое слово находится в скрытом элементе, атрибуте или скрипте, включите Find monitor text in source на вкладке Detect Keyword в Auto Refresh, и Auto Refresh будет читать страницу так же, как DevTools, обнаруживая данные, которые обычное обнаружение незаметно пропускает.