Technology Aug 22, 2026 · 3 min read

Cómo solucionar el error “Enable JavaScript and cookies to continue”

Cómo solucionar el error “Enable JavaScript and cookies to continue” Este mensaje aparece cuando Cloudflare (u otro proxy de seguridad similar) bloquea la solicitud porque detecta que el cliente no cumple con los requisitos mínimos de seguridad: JavaScript deshabilitado o cookies deshabil...

DE
DEV Community
by Erick Eduardo Ramos
Cómo solucionar el error “Enable JavaScript and cookies to continue”

Cómo solucionar el error “Enable JavaScript and cookies to continue”

Este mensaje aparece cuando Cloudflare (u otro proxy de seguridad similar) bloquea la solicitud porque detecta que el cliente no cumple con los requisitos mínimos de seguridad: JavaScript deshabilitado o cookies deshabilitadas/expiradas.

🔍 Causa técnica

Cloudflare implementa mecanismos de protección como:

  • JavaScript Challenge: El navegador debe ejecutar un script para demostrar que no es un bot.
  • Cookie de verificación: Tras superar el desafío, Cloudflare emite una cookie (__cf_bm o cf_clearance) que valida la sesión.

Si el cliente (navegador o cliente HTTP personalizado) no ejecuta JavaScript o no maneja cookies correctamente, la validación falla y se muestra este mensaje.

✅ Solución definitiva (por escenario)

🌐 Si eres un usuario final (navegador)

  1. Habilita JavaScript:
    • Chrome: Configuración > Privacidad y seguridad > Sitios web no seguros > Habilitar JavaScript.
    • Firefox: Preferencias > Privacidad y seguridad > Permisos > Habilitar JavaScript.
  2. Habilita cookies de terceros (si usas extensiones como uBlock Origin o Privacy Badger):
    • Añade el dominio a la lista blanca.
    • Desactiva temporalmente los bloqueadores para probar.
  3. Borra cookies y caché del dominio afectado.
  4. Reinicia el navegador y vuelve a cargar la página.

🧪 Si eres desarrollador (automatización / scraping / cliente HTTP)

❌ No uses requests o curl sin soporte JS/cookies → fallarán siempre.

✅ Opción recomendada: Usa un navegador headless con soporte JS y cookies

# Ejemplo con Playwright (recomendado)
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    context = browser.new_context()
    page = context.new_page()

    # Navega a la URL (Cloudflare se resolverá automáticamente)
    page.goto("https://ejemplo.com", wait_until="networkidle")

    # Si aún falla, fuerza espera tras el desafío
    try:
        page.wait_for_selector("#challenge-error-text", timeout=5000)
        raise RuntimeError("Cloudflare bloqueó la solicitud. Verifica cookies/JS.")
    except:
        pass  # No hay error → desafío superado

    # Ahora puedes hacer scraping
    content = page.content()
    print(content)

    browser.close()

⚠️ Alternativa (no recomendada): Simular el desafío manualmente

  • Solo viable si el sitio no usa Cloudflare + Bot Management.
  • Requiere analizar el script de desafío, resolverlo (ej. con cloudscraper), y mantener cookies.
  • Ejemplo con cloudscraper (Python):
import cloudscraper

scraper = cloudscraper.create_scraper(
    browser={
        'browser': 'firefox',
        'platform': 'windows',
        'mobile': False
    }
)
response = scraper.get("https://ejemplo.com")
print(response.text)

⚠️ Advertencia: Cloudflare actualiza sus desafíos frecuentemente. cloudscraper suele quedar obsoleto en semanas.

🧠 Pro-tip

  • Nunca confíes en status_code == 200 para validar éxito. Revisa el contenido:
  if "Enable JavaScript and cookies to continue" in response.text:
      raise RuntimeError("Bloqueo por Cloudflare detectado.")
  • Si controlas el servidor: configura Cloudflare para que use "I'm Under Attack" mode solo en endpoints sensibles, o usa Cloudflare Turnstile (reemplazo más moderno y accesible).
  • Para pruebas locales: desactiva Cloudflare temporalmente (modo desarrollo) o añade tu IP a la lista blanca.

Solución definitiva: Usa un entorno con JavaScript habilitado y gestión de cookies (Playwright, Selenium, o Puppeteer). No hay atajo fiable para evitar el desafío si el sitio lo requiere.

DE
Source

This article was originally published by DEV Community and written by Erick Eduardo Ramos.

Read original article on DEV Community
Back to Discover

Reading List