Acepta automáticamente los banners de cookies sin hacer clic
Los banners de consentimiento de cookies son la cabina de peaje de la web moderna. Pagas el mismo peaje en cada sitio, cada día. Una breve regla JavaScript de JustZix puede pagarlo por ti — haciendo clic en el botón de aceptar (o rechazar) en el instante en que el banner aparece.
Cómo funcionan los banners
La mayoría de los diálogos de consentimiento son un bloque normal de HTML inyectado en la página. Suelen contener un botón con texto predecible — "Aceptar", "Aceptar todo", "Estoy de acuerdo", "Entendido" — o un id/clase reconocible. Como el JS de JustZix se ejecuta en el contexto de la página, puedes encontrar ese botón y hacer clic en él de forma programática.
La versión más simple: hacer clic por el texto del botón
Esta regla escanea cada botón de la página y hace clic en el primero cuya etiqueta coincida con una lista de frases de aceptación. No distingue mayúsculas y recorta los espacios en blanco.
var ACCEPT = ['accept all', 'accept', 'i agree', 'agree', 'got it', 'allow all'];
function clickConsent() {
var buttons = document.querySelectorAll('button, a, [role="button"]');
for (var i = 0; i < buttons.length; i++) {
var label = (buttons[i].textContent || '').trim().toLowerCase();
if (ACCEPT.indexOf(label) !== -1) {
buttons[i].click();
return true;
}
}
return false;
}
clickConsent();
Gestionar banners que cargan tarde
Muchos gestores de consentimiento (la página los ejecuta a través de un gestor de etiquetas) inyectan el banner uno o dos segundos después de la carga. JustZix ejecuta tu JS una vez por carga de página, así que una sola llamada puede perderse un banner tardío. Usa un MutationObserver para vigilar los nodos nuevos y reintentar, y luego detente una vez que tengas éxito.
var ACCEPT = ['accept all', 'accept', 'i agree', 'agree', 'got it', 'allow all'];
function clickConsent() {
var buttons = document.querySelectorAll('button, a, [role="button"]');
for (var i = 0; i < buttons.length; i++) {
var label = (buttons[i].textContent || '').trim().toLowerCase();
if (ACCEPT.indexOf(label) !== -1) { buttons[i].click(); return true; }
}
return false;
}
if (!clickConsent()) {
var observer = new MutationObserver(function () {
if (clickConsent()) observer.disconnect();
});
observer.observe(document.documentElement, { childList: true, subtree: true });
setTimeout(function () { observer.disconnect(); }, 10000);
}
La protección setTimeout desconecta el observador tras diez segundos para que nunca se ejecute eternamente en una página que no tenga banner.
Apuntar a una plataforma de consentimiento concreta
Si solo navegas por un puñado de sitios, apunta al botón exacto por selector — es más rápido y evita clics accidentales. Inspecciona el banner en DevTools, copia el id o la clase y úsalo directamente.
function clickById(selectors) {
for (var i = 0; i < selectors.length; i++) {
var el = document.querySelector(selectors[i]);
if (el) { el.click(); return true; }
}
return false;
}
clickById([
'#onetrust-accept-btn-handler',
'.cookie-consent__accept',
'button[data-testid="accept-all"]'
]);
¿Prefieres rechazar?
Los usuarios preocupados por la privacidad pueden invertir la lógica — solo cambia la lista de frases. Muchos banners ahora exigen un botón "Rechazar todo" por ley, así que esto funciona en muchos sitios.
var REJECT = ['reject all', 'reject', 'decline', 'necessary only', 'only necessary'];
var buttons = document.querySelectorAll('button, a, [role="button"]');
for (var i = 0; i < buttons.length; i++) {
var label = (buttons[i].textContent || '').trim().toLowerCase();
if (REJECT.indexOf(label) !== -1) { buttons[i].click(); break; }
}
Buenas prácticas
- Mantén la regla limitada a
*solo si confías en la lista de frases — la coincidencia de texto amplia puede hacer clic ocasionalmente en un botón no relacionado. Ante la duda, limítala por sitio. - Desconecta siempre los observadores con un timeout para que la regla no pueda fugarse.
- Esta regla hace clic en botones que ya existen en la página; no envía datos y no contacta con ningún servidor.
- Si un sitio oculta contenido detrás del banner, hacer clic en aceptar también restaura el desplazamiento — sin CSS adicional.
Consigue una copia probada en los ejemplos listos para usar, o descarga JustZix si empiezas de cero. Empareja esto con nuestra guía sobre expandir automáticamente el contenido oculto para una lectura más fluida.
Valora este artículo
Sin valoraciones — sé el primero.