Скрытие ненужных элементов на странице

Аватара пользователя
Sham

Re: Скрытие ненужных элементов на странице

Сообщение Sham »

Sham, если я выложу селекторы всех элементов, можете написать скрипт?
Аватара пользователя
Spuner

Re: Скрытие ненужных элементов на странице

Сообщение Spuner »

Sham, может, я что-то не так делаю, но удалось скрыть только один элемент, что вы дали... На других элементов испробовал все селекторы, что копирует браузер... Ни в какую :-/

Кстати, блокировщик рекламы блокирует таким образом все нужные элементы...

Скрытый текст

[spoiler]Цитата:[/spoiler]

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap:nth-child(2) > div.page_block._audio_page_content_block:first-child > div.audio_page_sections._audio_page_sections.clear_fix:last-child > div.audio_section.audio_w_covers._audio_section._audio_section__all.audio_section__all:last-child > div.audio_page_section_layout._audio_page_section_layout.no_playlists.has_friends_block > div.audio_page_all_layout_columns.clear_fix:last-child > div.audio_page__rows_wrap:first-child > div.audio_page__audio_rows._audio_page__audio_rows:first-child > div.audio_page__sort_controls:nth-child(2) > div.audio_page__shuffle_all:last-child > button.audio_page__shuffle_all_button

Цитата:

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap:nth-child(2) > div.page_block._audio_page_content_block:first-child > div.audio_page_sections._audio_page_sections.clear_fix:last-child > div.audio_section.audio_w_covers._audio_section._audio_section__all.audio_section__all:last-child > div.audio_page_section_layout._audio_page_section_layout.no_playlists.has_friends_block > div.audio_page_all_layout_columns.clear_fix:last-child > div.audio_page__rows_wrap:first-child > div.audio_page__audio_rows._audio_page__audio_rows:first-child > div.audio_page__sort_controls:nth-child(2) > div.idd_wrap.audio_page__sort_dd._audio_page__sort_dd:first-child

Цитата:

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_player_wrap.audio_page_player_wrap.page_block:first-child > div.audio_page_player2._audio_page_player._audio_row.clear_fix.audio_title_long_performer > div.audio_page_player_ctrl.audio_page_player_btns._audio_page_player_btns.clear_fix:nth-child(5) > button.audio_page_player_btn.audio_page_player_shuffle._audio_page_player_shuffle:nth-child(3)

Цитата:

vk.com###audio_layer_tt > div.eltt_content._eltt_content:last-child > div.audio_layer_container > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_player_wrap.audio_page_player_wrap.page_block:first-child > div.audio_page_player2._audio_page_player._audio_row.clear_fix.audio_title_long_performer > div.audio_page_player_ctrl.audio_page_player_btns._audio_page_player_btns.clear_fix:nth-child(5) > button.audio_page_player_btn.audio_page_player_shuffle._audio_page_player_shuffle:nth-child(3)

Цитата:

vk.com###audio_layer_tt > div.eltt_content._eltt_content:last-child > div.audio_layer_container > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap.ui_scroll_container.ui_scroll_defau lt_theme:nth-child(2) > div.ui_scroll_overflow:first-child > div.ui_scroll_blocker:first-child > div.ui_scroll_outer > div.ui_scroll_inner.tt_noappend > div.ui_scroll_content.clear_fix:first-child > div.page_block._audio_page_content_block:first-child > h2.page_block_h2:nth-child(2) > ul.ui_tabs.clear_fix > li._audio_section_tab__updates:nth-child(6) > a.ui_tab

Цитата:

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap:nth-child(2) > div.page_block._audio_page_content_block:first-child > div.audio_page_sections._audio_page_sections.clear_fix:last-child > div.audio_section.audio_w_covers._audio_section._audio_section__all.audio_section__all:nth-child(2) > div.audio_page_section_layout._audio_page_section_layout.no_playlists.has_friends_block > div.audio_page_all_layout_columns.clear_fix:last-child > div.audio_page__rows_wrap:first-child > div.audio_page__audio_rows._audio_page__audio_rows:first-child > div.audio_page__sort_controls:nth-child(2) > div.audio_page__shuffle_all:last-child > button.audio_page__shuffle_all_button

Цитата:

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap:nth-child(2) > div.page_block._audio_page_content_block:first-child > div.audio_page_sections._audio_page_sections.clear_fix:last-child > div.audio_section.audio_w_covers._audio_section._audio_section__all.audio_section__all:nth-child(2) > div.audio_page_section_layout._audio_page_section_layout.no_playlists.has_friends_block > div.audio_page_all_layout_columns.clear_fix:last-child > div.audio_page__rows_wrap:first-child > div.audio_page__audio_rows._audio_page__audio_rows:first-child > div.audio_page__sort_controls:nth-child(2) > div.idd_wrap.audio_page__sort_dd._audio_page__sort_dd:first-child > div.idd_selected_value.idd_arrow:first-child

Цитата:

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap:nth-child(2) > div.page_block._audio_page_content_block:first-child > h2.page_block_h2:first-child > ul.ui_tabs.clear_fix.ui_tabs_header.ui_tabs_loading > li._audio_section_tab__updates:nth-child(4) > a.ui_tab

Цитата:

vk.com##div.ap_layer_wrap:last-child > div.ap_layer > div.ap_layer__content:first-child > div.audio_pl_snippet2._audio_pl._audio_pl_210747473_43219495.audio_pl__canedit.audio_pl__owned.audio _pl__has_thumb.audio_pl__has_shuffle > div.audio_pl_snippet__body:last-child > button.audio_pl_snippet__shuffle_all.audio_shuffle_all_button:nth-child(2)

Цитата:

vk.com###content > div._audio_page_layout.audio_page_layout.audio_page_layout2 > div._audio_page_content_block_wrap.audio_page_content_block_wrap:nth-child(2) > div.page_block._audio_page_content_block:first-child > h2.page_block_h2:first-child > ul.ui_tabs.clear_fix.ui_tabs_header > li._audio_section_tab__updates:nth-child(4) > a.ui_tab
Аватара пользователя
Sham

Re: Скрытие ненужных элементов на странице

Сообщение Sham »

Spuner, 1. @include указывает url на которых запускается скрипт. Если с точкой не работает, то может нужно добавить

Код:

Код: Выделить всё

@include https://vk.com/*

2. браузер копирует уникальный селектор со всеми классами от корневого элемента. Чтобы элемент нашёлся на всех страницах, нужно максимально упростить селектор: оставить последние 2-3 элемента (разделены >), удалить все ":...-child.." и тд.

например (первых два из списка)



Код:

Код: Выделить всё

div.audio_page__sort_controls > div.audio_page__shuffle_all > button.audio_page__shuffle_all_button



Код:

Код: Выделить всё

div.audio_page__sort_controls > div.idd_wrap.audio_page__sort_dd._audio_page__sort_dd
Аватара пользователя
Spuner

Re: Скрытие ненужных элементов на странице

Сообщение Spuner »

Цитата Sham:



1. @include указывает url на которых запускается скрипт. Если с точкой не работает, то может нужно добавить

Код:
Скрытие ненужных элементов на странице




С этим я быстро разобрался... (с "." не работал)



Я одного не пойму - как правильно построить структуру?





Код:

Код: Выделить всё

Какой из них правильный?
// ==UserScript==
// @name               Removing Buttons on VK
// @description        Удаление кнопок
// @include            https://vk.com/*
// ==/UserScript==
window.addEventListener("DOMContentLoaded", function() {
        document.querySelector("div.audio_page__sort_controls > div.audio_page__shuffle_all > button").remove();
window.addEventListener("DOMContentLoaded", function() {
        document.querySelector("div.audio_page__sort_controls > div.idd_wrap.audio_page__sort_dd._audio_page__sort_dd > button").remove();
});
});



Код:

Код: Выделить всё

// ==UserScript==
// @name               Removing Buttons on VK
// @description        Удаление кнопок
// @include            https://vk.com/*
// ==/UserScript==
window.addEventListener("DOMContentLoaded", function() {
	document.querySelector("div.audio_page__sort_controls > div.audio_page__shuffle_all > button").remove();
});
window.addEventListener("DOMContentLoaded", function() {
	document.querySelector("div.audio_page__sort_controls > div.idd_wrap.audio_page__sort_dd._audio_page__sort_dd > button").remove();
});

Хотя, надо отметить, что с первым вариантом что со вторым - второй (и последующие) элемент в обеих случаях не скрывается. Неважно, сколько селекторов был прописан в команде - один, два, три и т.д...
Аватара пользователя
Sham

Re: Скрытие ненужных элементов на странице

Сообщение Sham »

Spuner, внутри "window.addEventListener("DOMContentLoaded", function() { ..... });" код выполняется строго после загрузки страницы. В гризманки можно настроить начало выполнения скрипта, и тогда этот блок не нужен. Иначе, нужен один этот блок, внутри которого ряд querySelector'ов, либо если совсем правильно - с массивом селекторов и условием наличия элемента.

Если селектор не находит элемент на другой странице, значит надо копировать его на всех страницах и сравнивать между собой, пробуя удалять изменяющиеся части. Тут без экспериментов не обойтись.
Ответить

Вернуться в «Вебмастеру»