Карточка элемента
Каждая карточка описывает один HTML-элемент: тег, количество атрибутов, условия по атрибутам, тексту и позиции.
Создавайте правила для блокировки нежелательных элементов: от простого CSS-селектора до точного правила с условиями по структуре страницы.
В видео показано, как пользоваться BlockIt, создавать правила и проверять результат.
Если встроенный плеер не открылся, посмотрите видео на YouTube.
BlockIt помогает создавать правила для конкретных элементов страницы и разбираться, почему правило находит именно их. В конструкторе видно, какие признаки элемента и его окружения участвуют в поиске. Вы можете проверить, достаточно ли эти признаки отличают нужный элемент от остальных, и выбрать те, которые считаете устойчивыми.
Этот путь подходит, если вы хотите сначала попробовать готовый CSS-селектор из DevTools.
Язык интерфейса DevTools на скриншотах — русский, хотя по умолчанию в браузере он на английском. Вы можете изменить настройку языка интерфейса DevTools.
| Действие | Результат |
|---|---|
| F12 | Открывается панель DevTools. |
| Ctrl + Shift + I | Открывается та же панель. |
| Правый клик по элементу → «Посмотреть код» / «Inspect» | DevTools открывается с подсвеченным элементом. |
Нажмите ⋮ в правом верхнем углу DevTools и выберите расположение в блоке «Сторона закрепления» / «Dock side»: справа, снизу, слева или в отдельном окне. Закрепление справа обычно удобно на широком мониторе, снизу — если по вертикали достаточно места, а отдельное окно — при работе с двумя экранами.
Прежде чем копировать селектор или HTML, важно правильно определить, какой именно элемент нужно заблокировать.
Если после добавления правила блокируется слишком много или, наоборот, ничего не блокируется, удалите правило и попробуйте выбрать другой элемент — выше или ниже по дереву HTML.
Обычно правило срабатывает сразу. Если элемент остался видимым, обновите страницу.
Сначала найдите нужный элемент в DevTools и посмотрите на его тег, классы и атрибуты.
Включите подходящие подсказки. Подсветка ниже не скрывает другие способы: она лишь показывает, с чего разумнее начать.
Рекомендуемые способы выделяются ниже. Нажмите на любой способ, чтобы раскрыть подробную инструкцию.
Начните с этого способа, если хотите быстро проверить, можно ли заблокировать элемент обычным селектором. DevTools создаёт его автоматически: выберите элемент, затем «Скопировать» / «Copy» → «Копировать selector» / «Copy selector».
Вставьте селектор в основное поле BlockIt, проверьте счётчик и добавьте правило. Если результат нестабилен после обновления, переходите к StableHTMLFinder или конструктору.





XPath — альтернативный способ описать путь к элементу по структуре страницы. Он может помочь, если классы и другие атрибуты нестабильны, но сам путь к элементу остаётся неизменным. В DevTools выберите «Копировать XPath» / «Copy XPath», затем вставьте выражение в основное поле BlockIt.
id. Если этот id меняется, такой XPath тоже будет нестабильным. Абсолютный путь с порядковыми номерами, в свою очередь, сломается при перестройке HTML.BlockIt проверяет XPath отдельно в основном документе и в каждом iframe, поэтому XPath элемента внутри iframe может сработать. Через границу Shadow DOM браузер не выполняет XPath. В таком случае используйте способ, который строит правило на основе CSS-селектора или расширенного синтаксиса BlockIt: например, конструктор правила либо StableHTMLFinder.
Этот способ даёт больше контроля, чем готовый селектор из DevTools: после разбора HTML вы сами решаете, какие атрибуты войдут в селектор.
Установить StableHTMLFinder из Chrome Web Store
Подробное руководство: инструкция StableHTMLFinder.
StableHTMLFinder полезен, когда классы и id обфусцированы, меняются между загрузками или на странице много похожих блоков. Он часто проще, чем ручной разбор HTML, но анализ занимает время: расширению нужно несколько раз загрузить страницу.
StableHTMLFinder не блокирует элементы сам. Он помогает выбрать основу для правила BlockIt:
Конструктор правила — мощный инструмент для создания точных правил без знания CSS, XPath или синтаксиса BlockIt. Он подходит и для стабильных, и для нестабильных элементов: правило может опираться не на конкретный класс, а на текст, количество атрибутов или классов, положение среди сиблингов и окружающие элементы.
В DevTools скопируйте HTML нужного элемента, откройте «Продвинутый режим» BlockIt, вставьте HTML в соответствующее поле и нажмите «Открыть конструктор».
Каждая карточка описывает один HTML-элемент: тег, количество атрибутов, условия по атрибутам, тексту и позиции.
Предки находятся выше. Потомки располагаются ниже с отступом. Сиблинги находятся на одном уровне вложенности.
Автоматически подставленные значения можно отключать. Не используйте меняющиеся id и классы только потому, что они были найдены в HTML.
Смотрите количество совпадений сразу, затем используйте «Проверить после обновления», чтобы убедиться в устойчивости результата.
По возможности оставляйте только нужные и достаточно устойчивые признаки. Если хотите проверить совпадения в DevTools, используйте признаки, из которых конструктор может собрать обычный CSS-селектор. Метка рядом с предпросмотром показывает, что получилось: «CSS-селектор» или «Правило BlockIt».
:nth-child(). Но выбор номера среди уже найденных правилом совпадений — отдельная возможность BlockIt.0 означает непосредственного соседа.Если в предпросмотре указано «Правило BlockIt», проверить его как CSS в DevTools не получится. Такие признаки включайте, когда они действительно нужны для точного правила. Само правило можно ввести в поиск по карте стабильности StableHTMLFinder и посмотреть, какие элементы на ней ему соответствуют. CSS-селектор, напротив, можно скопировать и проверить в DevTools.
У цели и предков можно добавить непосредственного родителя или просто предка. У цели можно добавить дочерний элемент, потомка или сиблинга; у сиблингов также могут быть потомки. Для сиблинга расстояние можно учитывать при необходимости. Для связанного элемента доступен переключатель «Допускается отсутствие».
Порядковый номер среди сиблингов — это место элемента среди детей одного родителя. Порядковый номер в результатах правила — это место среди всех элементов, которые уже нашло полностью сформированное правило. Это разные условия.
В блоке «Предпросмотр правила» прочитайте словесное описание: оно помогает заметить случайно включённый атрибут, текст или связь. Затем проверьте количество совпадений на текущей странице и после обновления страницы.
class.
Начните с CSS-селектора из DevTools, если нужен быстрый результат. Быстрое правило из HTML подходит, когда признаки элемента выглядят устойчивыми, но вы хотите самостоятельно выбрать атрибуты. Если признаки нестабильны, выглядят случайными или на странице много похожих блоков, переходите к StableHTMLFinder или конструктору.
Селекторы — это способ найти нужный элемент на веб-странице по его свойствам: тегу, классу, идентификатору, атрибутам или положению в структуре HTML.
В отличие от CSS-стилей, где селекторы используются для применения оформления, в BlockIt селекторы нужны только для поиска. Мы не задаём цвета, шрифты или отступы — мы просто находим элемент, чтобы его заблокировать.
Эти примеры помогут читать и немного редактировать обычные CSS-селекторы.
1 of 3.
*)Находит все элементы на странице. Используйте с осторожностью — он вернёт всё, что есть в HTML.
Селектор: *
Что найдёт: все элементы без исключения.
Находит все элементы с указанным HTML-тегом.
Селекторы: h1, p, button, div
Что найдёт:
h1 — все заголовки первого уровня;p — все абзацы;button — все кнопки;div — все контейнеры <div>..класс)Находит все элементы с указанным классом в атрибуте class. Несколько классов записываются подряд, без пробела.
Селекторы: .card, .card__title, .card.featured
Что найдёт:
.card — все элементы с классом card;.card__title — все элементы с классом card__title;.card.featured — элементы, у которых одновременно есть классы card и featured.Элемент может содержать и другие классы: например, class="card featured compact" тоже соответствует селектору .card.featured. Для точного совпадения всей строки классов можно использовать [class="card featured"], но такой селектор зависит от порядка классов и не допускает дополнительных классов.
#id)Находит элемент с уникальным идентификатором id. На странице должен быть только один такой элемент.
Селекторы: #salad-cat, #confused-cat, #bread-cat
Что найдёт:
#salad-cat — элемент с id="salad-cat";#confused-cat — элемент с id="confused-cat";#bread-cat — элемент с id="bread-cat".[атрибут="значение"])Атрибут можно проверять с точным значением или только по наличию. Несколько условий записываются подряд.
Селекторы: [data-type], [data-type="description"], [data-type="description"][aria-label="Карточка"], [class~="card"], [class="card featured"]
Что найдёт:
[data-type] — элементы, у которых есть атрибут data-type с любым значением;[data-type="description"] — элементы, у которых значение data-type в точности равно description;[data-type="description"][aria-label="Карточка"] — элементы, у которых одновременно совпадают оба атрибута;[class~="card"] — элементы, в списке классов которых есть отдельный класс card;[class="card featured"] — элементы, у которых вся строка атрибута class в точности совпадает с указанной.[href^="https://"]https://[src$=".png"].png[class*="advert"]advert в любом месте[class~="card"]card[lang|="ru"]ru или начинается с ru-, например ru-RU[aria-label*="реклама" i]Селектор проверяет только перечисленные в нём атрибуты и не запрещает остальные. Например, [data-type="description"][aria-label="Карточка"] найдёт элемент <div data-type="description" aria-label="Карточка" title="Подробнее">: дополнительный атрибут title не мешает совпадению. Обычный CSS-селектор не умеет потребовать, чтобы у элемента не было никаких других атрибутов.
Тег, класс, идентификатор и условия по атрибутам можно объединять без пробелов, чтобы все признаки относились к одному элементу.
Селекторы: h2.card__title, div.card.featured, div[data-type="description"], article.card[data-type="advertisement"][aria-label="Реклама"]
Что найдёт:
h2.card__title — <h2> с классом card__title;div.card.featured — <div> с классами card и featured, при этом другие классы разрешены;div[data-type="description"] — <div> с указанным атрибутом, при этом другие атрибуты разрешены;article.card[data-type="advertisement"][aria-label="Реклама"] — <article> с классом card, у которого значения атрибутов в точности равны data-type="advertisement" и aria-label="Реклама".Находит элементы, которые находятся внутри другого элемента на любом уровне вложенности.
Селектор: .card .btn
Что найдёт: все элементы с классом btn, которые находятся внутри элемента с классом card.
>)Находит элементы, которые являются непосредственными потомками другого элемента. Поиск идёт только на один уровень вглубь.
Селектор: .card__body > .card__title
Что найдёт: элементы с классом card__title, которые являются прямыми детьми элемента с классом card__body.
+)Находит элемент, который является следующим соседним для другого элемента на том же уровне вложенности.
Селектор: #confused-cat + .card__description
Что найдёт: абзац <p>, который идёт сразу за элементом с id="confused-cat".
Позволяет выбирать элементы по их положению среди «братьев и сестёр».
Селектор: .card__actions :nth-child(2)
Что найдёт: второй дочерний элемент внутри элемента с классом card__actions.
У обычных CSS-селекторов есть ограничения. Они не умеют описывать количество атрибутов или классов без их перечисления, собственный текст элемента, произвольный текст внутри него, регулярные выражения и шаблоны имён атрибутов. Например, запись [data-*] не является стандартным CSS-селектором. Для таких случаев используются правила BlockIt — расширение стандартного синтаксиса CSS-селекторов, в котором доступны конструкции [data-*], :attr-name(/^data-/) и другие дополнительные условия. Ознакомиться с документацией по синтаксису BlockIt.
Созданные правила отображаются в списке для текущего сайта и в списке правил без привязки к домену. Для правил из конструктора доступны редактирование и удаление; отключённые правила остаются в списке с соответствующей пометкой.
Найдите правило в списке «Активные правила» и нажмите «Отключить». Правило останется на прежнем месте с пометкой «Отключено», но больше не будет применяться. Если правило уже скрыло элемент на открытой странице, обновите эту страницу, чтобы восстановить её исходное содержимое.
Найдите правило в списке «Активные правила» и нажмите «Удалить». Чтобы восстановить скрытый элемент на открытой странице, перезагрузите её с помощью F5 или кнопки обновления вкладки.
Экспорт сохраняет правила в файл, а импорт добавляет правила из такого файла или заменяет ими текущий список. Эта функция нужна для переноса настроек и обмена ими между устройствами.
Откройте страницу, на которой хотите проверить правила, затем откройте BlockIt. В заголовке группы «Для этого сайта: <домен>» нажмите кнопку «Проверить правила».
Проверка показывает, находят ли сохранённые правила элементы на открытой странице. Можно выполнить одно измерение или включить «Проверить стабильность» и выбрать несколько перезагрузок. Во время измерений BlockIt временно не применяет правила, перезагружает страницу и показывает количество совпадений для каждого правила при каждой загрузке.
Проверка запускается для правил текущего базового домена и правил без привязки к домену. BlockIt не разделяет субдомены при сохранении обычной привязки: например, правило, созданное на e.mail.ru, сохраняется для mail.ru. При этом проверяются элементы именно на той странице, с которой вы открыли диагностику. Поэтому исправное правило для одного субдомена или раздела сайта может получить статус «Не сработало» на другом субдомене либо по другому адресу. Для достоверного результата откройте страницу, для которой создавалось правило, и запустите проверку оттуда.
Это происходит, когда выбранный селектор оказался слишком «широким» и находит не только рекламный блок, но и другие элементы на странице.
Что делать:
Сначала проверьте счётчик и убедитесь, какие именно элементы попали в результаты. Если у нужного элемента есть устойчивый класс или атрибут, добавьте его в селектор. Если простого селектора недостаточно, откройте конструктор правила: в нём можно учитывать текст, количество классов и атрибутов, позицию среди сиблингов или связи с окружающими элементами. После уточнения снова проверьте правило на текущей странице и после обновления.
Используйте StableHTMLFinder: расширение сравнит несколько загрузок и построит карту стабильности. Найдите нужный элемент через поиск по карте, затем изучите его устойчивые признаки и окружающие элементы.
Если разметка выглядит особенно сильно обфусцированной, сайт может загружать для соединения через VPN другой вариант страницы. Если это приемлемо, временно отключите VPN, перезагрузите страницу и повторите анализ. Это помогает не на всех сайтах, но позволяет проверить, связано ли усложнение разметки с вариантом страницы, который получает ваше соединение.
Попробуйте объединить найденные в StableHTMLFinder устойчивые признаки с возможностями конструктора BlockIt. Так можно вручную собрать правило, которое учитывает не только сам элемент, но и его окружение.
Или попробуйте расширение uBlock Origin Lite.
Если проблема возникла именно при работе BlockIt — например, его правило не срабатывает или расширение выдаёт ошибку, сообщите об этом через форму «Обратная связь». Укажите адрес страницы, приложите правило и, если возможно, скриншоты — это поможет разобраться.