Más del 70 % de los sitios web modernos dependen de JavaScript para renderizar su contenido. Una solicitud HTTP estándar solo ve el contenedor HTML inicial. Los datos reales se cargan después de que se ejecuta JavaScript, razón por la cual las herramientas de scraping tradicionales devuelven páginas vacías.
Las tareas de navegador de FourA solucionan esto ejecutando una instancia real de Chrome headless para cada solicitud.
Cómo funciona
Cuando envías una tarea con type: "browser", FourA:
- Inicia un navegador Chrome headless
- Navega a la URL de destino
- Espera a que se ejecute JavaScript y se estabilice el DOM
- Opcionalmente, espera a que aparezca un selector CSS específico
- Devuelve el HTML completamente renderizado
Todo el proceso ocurre en la infraestructura de FourA. Recibes un HTML limpio sin necesidad de instalar un navegador, configurar Puppeteer ni gestionar actualizaciones de Chrome.
Cuándo usar tareas de navegador
Usa tareas de navegador cuando:
- Aplicaciones de una sola página (React, Vue, Angular)
- Páginas con contenido de carga diferida (desplazamiento infinito, botones de "cargar más")
- Sitios que requieren consentimiento de cookies o configuración inicial de JS
- Contenido detrás de flujos de autenticación del lado del cliente
Sigue usando tareas single cuando:
- Páginas HTML renderizadas en el servidor (sitios de noticias, blogs, wikis)
- API REST que devuelven JSON directamente
- La velocidad sea la prioridad (las tareas de navegador tardan de 2 a 10 segundos frente a menos de 1 segundo para las tareas
single)
Ejemplo: scraping de una aplicación React
curl -X POST https://eu.api.foura.ai/api/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/dashboard",
"type": "browser",
"options": {
"waitFor": ".dashboard-content",
"timeout": 15000
}
}'
El selector waitFor le indica a FourA que espere hasta que .dashboard-content aparezca en el DOM antes de capturar la página. Esto garantiza que se hayan cargado todos los datos asíncronos.
Consejos de rendimiento
- Usa siempre
waitForcon un selector específico en lugar de depender de tiempos de espera. Es más rápido y más confiable. - Establece un tiempo de espera razonable. 15 segundos cubren la mayoría de las SPA. Auméntalo solo para backends realmente lentos.
- Usa
singlepor defecto y cambia abrowsersolo cuando falte contenido en la respuesta.
Próximos pasos
Estamos trabajando en capacidades adicionales para el navegador, que incluyen la captura de pantallas, la generación de PDF y la navegación de varios pasos (hacer clic, desplazarse, completar formularios). Pero incluso sin esos extras, las tareas de navegador ya resuelven el problema más común: obtener el contenido real de las páginas renderizadas con JavaScript en lugar de un contenedor vacío.
Consulta la documentación para ver la comparación completa de los tipos de tareas.