// ==UserScript== // @name Amazon Sponsored Products remover // @namespace https://greasyfork.org/en/users/2755-robotoilinc // @author RobotOilInc // @version 0.3.0 // @license MIT // @description Removes the terrible sponsored products from Amazon. // @include http*://www.amazon.cn/* // @include http*://www.amazon.in/* // @include http*://www.amazon.co.jp/* // @include http*://www.amazon.com.sg/* // @include http*://www.amazon.com.tr/* // @include http*://www.amazon.ae/* // @include http*://www.amazon.fr/* // @include http*://www.amazon.de/* // @include http*://www.amazon.it/* // @include http*://www.amazon.nl/* // @include http*://www.amazon.es/* // @include http*://www.amazon.co.uk/* // @include http*://www.amazon.ca/* // @include http*://www.amazon.com.mx/* // @include http*://www.amazon.com/* // @include http*://www.amazon.com.au/* // @include http*://www.amazon.com.br/* // @include http*://smile.amazon.com/* // @run-at document-body // @downloadURL none // ==/UserScript== new MutationObserver(function(mutationList, observer) { // Remove old style sponsored results document.querySelectorAll('[data-component-type="sp-sponsored-result"]').forEach(function(element) { var parent = element.closest('[data-asin]'); if (parent) parent.remove(); }); // Remove old style carousel ads document.querySelectorAll('.sp_desktop_sponsored_label').forEach(function(element) { var parent = element.closest('.a-carousel-container'); if (parent) parent.remove(); }); // Remove all skyscraper ads (Amazon.de, shown on desktop on the left and bottom) document.querySelectorAll('[class*="_adPlacements"]').forEach(function(element) { element.remove(); }); document.querySelectorAll('[data-cel-widget*="adplacements"]').forEach(function(element) { element.remove(); }); // Remove advertising promo on product page document.querySelectorAll('[data-cel-widget="dp-ads-center-promo_feature_div"]').forEach(function(element) { element.remove(); }); // Remove all additional sponsored products document.querySelectorAll('.AdHolder').forEach(function(element) { element.remove(); }); // Remove everything cluttering the search view (except pagination) document.querySelectorAll('#search .s-result-list.s-search-results > div:not([data-component-type="s-search-result"])').forEach(function(element) { if (element.querySelectorAll('.s-pagination-strip').length ==0) element.remove(); }); }).observe(document.body, {childList: true, subtree: true});