Actualmente estoy trabajando en una extensión de Chrome que me permitirá filtrar ciertos videos de YouTube de mi feed de YouTube. Quiero poder eliminar cualquier video que aparezca, pero está sucediendo algo extraño, que parece ser exclusivo del feed de YouTube.
Por el momento, estoy creando un prototipo de esto ejecutando código en la consola del navegador mientras estoy en la página, antes de intentar implementarlo en una extensión. Aquí está el código hasta ahora
// XPath for grabbing the container that holds all the videos const mainFeedContainerFullXpath = '/html/body/ytd-app/div/ytd-page-manager/ytd-browse/ytd-two-column-browse-results-renderer/div[1]/ytd-rich-grid-renderer/div[6]' const mainFeedContainer = document.evaluate(mainFeedContainerFullXpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; const firstElement = mainFeedContainer.children[0].children[0].children[0]; Este código toma el primer video que aparece en el feed. Luego puedo eliminar el elemento haciendo firstElement.remove() .
Sin embargo, en el momento en que intento acercar/alejar el zoom, lo que parece actualizar la cuadrícula, el elemento vuelve a aparecer. Puedo confirmar que el elemento en sí se eliminó del DOM, ya que verifico el elemento principal que lo contiene y veo que tiene un elemento secundario menos al ejecutar el método de eliminación. Sin embargo, parece que YouTube tiene una forma de almacenar en caché los resultados del feed y vuelve a renderizar todo el feed cada vez que se cambia el zoom, para tratar de acomodar más o menos videos por fila según el zoom.
¿Alguna idea sobre cómo lidiar con esto?