# ⚠️ NOTA IMPORTANTE - YouTube y Modo Headless ## Problema Detectado YouTube detecta el modo headless y **no carga los comentarios** cuando el navegador está en ese modo, incluso con todas las flags stealth activadas. ## Resultados de Testing ### ✅ Modo Visible (funciona) ```bash go run examples/youtube_comments.go -visible -n 5 ``` **Resultado:** Extrae comentarios exitosamente ### ❌ Modo Headless (no funciona) ```bash go run examples/youtube_comments.go -n 5 ``` **Resultado:** No encuentra comentarios (YouTube los bloquea) ## Soluciones ### Opción 1: Usar Modo Visible (Recomendado para YouTube) ```go config.StealthFlags.Headless = false config.StealthFlags.WindowSize = [2]int{600, 400} // Ventana pequeña ``` ### Opción 2: Usar Xvfb (Linux) para simular display ```bash # Instalar Xvfb sudo apt-get install xvfb # Ejecutar con display virtual xvfb-run -a go run examples/youtube_comments.go ``` ### Opción 3: Ajustar el Script para Usar Selector de Comments Button En lugar de scrollear directamente a los comentarios, podemos hacer click en el botón de comentarios primero: ```javascript // Click en el botón/section de comentarios document.querySelector('#comments')?.scrollIntoView(); ``` ### Opción 4: Usar API de YouTube (Alternativa) Si necesitas headless absoluto, considera usar la YouTube Data API v3 en lugar de scraping. ## Por Qué Sucede YouTube usa múltiples técnicas de detección: 1. Verifica `navigator.webdriver` (ya lo manejamos con stealth) 2. Detecta características ausentes en headless Chrome 3. Analiza patrones de comportamiento del usuario 4. Puede usar WebGL fingerprinting 5. Detecta ausencia de interacción humana ## Recomendación Final Para este caso de uso específico (extracción de comentarios de YouTube): - **Desarrollo/Testing:** Usar `-visible` con ventana pequeña - **Producción:** Usar Xvfb o un servidor con display virtual - **Alternativa:** Considerar YouTube Data API para uso a escala ## Estado Actual del Código El código está configurado para: - ✅ Headless por defecto - ✅ Ventana pequeña (600x400) - ✅ Cierre explícito del navegador - ✅ Flags stealth optimizadas - ⚠️ **Pero YouTube bloquea comentarios en headless** ## Próximos Pasos Sugeridos 1. Agregar flag `--force-display` que use Xvfb automáticamente 2. Implementar detector de "comentarios bloqueados" y reintento en modo visible 3. Agregar opción de usar YouTube Data API como fallback 4. Investigar si headless=new de Chrome evita la detección