Несколько загрузок
Снимки создаются после независимых перезагрузок, поэтому случайно совпавший DOM не считается стабильным.
Расширение для Chrome · DOM-анализ
StableHTMLFinder сравнивает структуру страницы после нескольких независимых загрузок и показывает, на какие элементы действительно можно опереться в автоматизации, тестах и правилах фильтрации.
Обсудить похожий проектЗадача
На многих сайтах используются обфускация HTML, динамически формируемые классы и идентификаторы, меняющаяся вложенность и служебные элементы. В частности, такие приёмы могут затруднять обнаружение и блокировку рекламных блоков. CSS-селектор, составленный по одной загрузке страницы, часто включает случайные значения и перестаёт находить элемент после обновления. StableHTMLFinder показывает структуру страницы вместе с признаками элементов, которые сохраняются между несколькими загрузками.
Снимки создаются после независимых перезагрузок, поэтому случайно совпавший DOM не считается стабильным.
На карте видны устойчивые теги, имена и значения атрибутов, классы, текст и другие признаки структуры.
В анализ включаются доступные iframe и Shadow DOM — с сохранением контекста, в котором найден элемент.
Расширение предлагает обычный CSS-селектор или правило BlockIt. Правила BlockIt дополняют синтаксис селекторов признаками, которые CSS выразить не может: количеством атрибутов и классов, собственным текстом, а также шаблоном в имени или значении атрибута.
Уникальность
Большинство инструментов предлагает селектор для элемента в текущем состоянии DOM. На обычной странице этого может быть достаточно, но в обфусцированном HTML такой селектор нередко опирается на случайные классы, ID или положение элемента. StableHTMLFinder сначала показывает, какие признаки действительно сохранились между загрузками, и позволяет строить правило на их основе. При этом полезные признаки не ограничиваются возможностями CSS-селекторов.
Для кого
Как работает
Расширение собирает структуру страницы несколько раз с заданной паузой.
Расширение определяет, какие части структуры сохраняются, а какие меняются от загрузки к загрузке.
Результат отображается как интерактивное дерево со стабильными и изменчивыми участками.
Пользователь находит нужный элемент и получает селектор, опирающийся на подтверждённую структуру.
Технологии