Skyvern Integrando CapSolver: Una guía sobre el manejo de CAPTCHA en la automatización de navegadores de inteligencia artificial

Aloísio Vítor
Image Processing Expert
28-Jul-2026
TL;DR
-
Skyvern es responsable de abrir páginas web, completar formularios y avanzar en flujos de trabajo empresariales, mientras que CapSolver se encarga de devolver el token CAPTCHA.
-
Instala directamente el SDK oficial
capsolvery llama acapsolver.solve()para evitar implementar por tu cuenta la lógica decreateTasky el sondeo. -
Una vez que se obtenga el Token, devuélvelo a la página actual del navegador, luego deja que Skyvern envíe el formulario y verifique los resultados.
Introducción
Skyvern es una plataforma de automatización de navegadores de inteligencia artificial construida sobre Playwright, modelos de visión y Grandes Modelos de Lenguaje (LLMs). Skyvern puede comprender texto, formularios y elementos interactivos dentro de una página web, completando tareas como navegación entre páginas, clics en botones, entrada de contenido, carga de archivos, extracción de información y flujos de trabajo de varios pasos basados en instrucciones en lenguaje natural. Este enfoque reduce los costos de mantenimiento de scripts causados por cambios en la estructura de la página, siendo ideal para escenarios como inicios de sesión, envío de formularios, operaciones de oficina trasera y recolección de datos.
Cuando un flujo de automatización encuentra un desafío CAPTCHA, puedes llamar al SDK oficial de Python de CapSolver proporcionando parámetros como la URL de la página actual, la clave del sitio y el tipo de CAPTCHA. Una vez que CapSolver complete la tarea, devuelve un token de verificación correspondiente. El programa luego utiliza Playwright para escribir este token en los campos de respuesta de la página actual, en llamadas a funciones JavaScript o en solicitudes empresariales. Una vez que se apruebe la verificación, Skyvern puede continuar ejecutando la tarea original autorizada por el usuario, como enviar el formulario, ingresar a la siguiente página o verificar los resultados finales.
1. Instalación de dependencias
Skyvern actualmente requiere Python 3.11, 3.12 o 3.13. Instala Skyvern, el SDK de CapSolver y Chromium:
Bash
pip install "skyvern[local]"
pip install --upgrade capsolver
python -m playwright install chromium
2. Código de CapSolver
Python
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
})
print(solution)
Al tener éxito, el resultado devuelto principalmente utiliza:
Python
token = solution["gRecaptchaResponse"]
El papel de los parámetros:
websiteURL y websiteKey deben ser consistentes con la configuración real de la página actual.
3. Ejemplo de integración con Skyvern
A continuación, se muestra un ejemplo mínimo de integración. Skyvern primero abre la página y completa el formulario, luego obtiene el Token a través del SDK oficial y finalmente devuelve el Token a la página para su envío.
Python
import asyncio
import capsolver
from skyvern import Skyvern
TARGET_URL = "https://www.google.com/recaptcha/api2/demo"
WEBSITE_KEY = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
async def inject_token(page, token: str):
await page.evaluate(
"""
(token) => {
const textarea = document.getElementById('g-recaptcha-response');
if (textarea) {
textarea.value = token;
}
}
""",
token,
)
async def main():
skyvern = Skyvern.local()
browser = await skyvern.launch_local_browser(headless=False)
page = await browser.get_working_page()
try:
await page.goto(TARGET_URL)
solution = await asyncio.to_thread(
capsolver.solve,
{
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": TARGET_URL,
"websiteKey": WEBSITE_KEY,
},
)
token = solution["gRecaptchaResponse"]
await inject_token(page, token)
await page.act("Submit")
await page.validate("Verification successful... Great!")
finally:
await browser.close()
4. Cómo devolver el Token a la página
CapSolver solo se encarga de devolver el Token; no envía automáticamente el formulario empresarial del sitio objetivo. Diferentes sitios manejan los Tokens de diversas formas, con métodos comunes incluyendo:
-
Escribir en el campo oculto
g-recaptcha-response; -
Llamar a una función JavaScript configurada en la página;
-
Enviar el Token como parámetro de una interfaz empresarial.
La función inject_token() en el ejemplo intenta ambos, el campo oculto y una prueba de llamada a la función. En el uso real, este fragmento debe ajustarse según la implementación frontend de su propio sitio web.
5. Problemas comunes
Token devuelto, pero la página sigue fallando
Verifique los siguientes parámetros:
-
¿Es
websiteURLla dirección de la página actual? -
¿Es
websiteKeydel sitio actual? -
¿Se refrescó la página después de obtener el Token?
-
¿Se entregó el Token a la función de devolución de llamada o interfaz empresarial correcta?
6. Uso de la API de CapSolver para resolver ImageToText
Además de reCAPTCHA, Skyvern también puede trabajar con CapSolver para manejar CAPTCHAS estándar de imagen a texto. Tomando como ejemplo la Demo de CAPTCHA de BotDetect: el ID del elemento de imagen CAPTCHA es demoCaptcha_CaptchaImage, el ID de la caja de entrada del resultado es captchaCode, y el ID del botón de validación es validateCaptchaButton.

ImageToTextTask requiere convertir la imagen CAPTCHA a Base64 y enviarla a través del parámetro body. Si la imagen src es una URL de datos, por ejemplo:
Plain Text
data:image/png;base64,iVBORw0KGgoAAA...
Al pasarlo a CapSolver, mantenga solo el contenido Base64 después de la coma, excluyendo el prefijo data:image/...;base64,. A diferencia de las tareas de tipo Token, ImageToTextTask devuelve directamente el resultado de la reconocimiento sin requerir una sondeo adicional de getTaskResult.
A continuación se muestra el ejemplo completo de integración con Skyvern:
Python
import asyncio
import capsolver
from skyvern import Skyvern
TARGET_URL = "https://captcha.com/demos/features/captcha-demo.aspx"
async def main():
skyvern = Skyvern.local()
browser = await skyvern.launch_local_browser(headless=False)
page = await browser.get_working_page()
try:
await page.goto(TARGET_URL)
await page.locator("#demoCaptcha_CaptchaImage").wait_for()
# Leer la URL de datos de la imagen CAPTCHA.
image_src = await page.locator(
"#demoCaptcha_CaptchaImage"
).get_attribute("src")
if not image_src or "," not in image_src:
raise RuntimeError("No se encontró una imagen CAPTCHA en Base64 válida")
# Eliminar el prefijo de URL de datos y mantener solo los datos en Base64.
base64_image = image_src.split(",", 1)[1]
solution = await asyncio.to_thread(
capsolver.solve,
{
"type": "ImageToTextTask",
"websiteURL": TARGET_URL,
"module": "common",
"body": base64_image,
},
)
captcha_text = solution["text"]
print("Resultado de reconocimiento:", captcha_text)
await page.locator("#captchaCode").fill(captcha_text)
await page.locator("#validateCaptchaButton").click()
await page.wait_for_timeout(5000)
finally:
await browser.close()
if __name__ == "__main__":
asyncio.run(main())
El proceso de ejecución del código se puede resumir como:
Plain Text
Skyvern abre la página CAPTCHA
-> Localizar #demoCaptcha_CaptchaImage
-> Extraer y limpiar los datos de imagen en Base64
-> Llamar a capsolver.solve(ImageToTextTask)
-> Leer solution["text"]
-> Rellenar en #captchaCode
-> Hacer clic en #validateCaptchaButton
Elección del modelo de reconocimiento adecuado
module es un parámetro opcional; se puede usar common por defecto. Si la CAPTCHA solo contiene números, se puede usar number; para algunos estilos especiales, también se puede seleccionar el modelo correspondiente independiente según la documentación de CapSolver para mejorar la precisión del reconocimiento.

Por ejemplo, al reconocer solo CAPTCHAS numéricas, se puede cambiar los parámetros de la tarea a:
Python
solution = capsolver.solve({
"type": "ImageToTextTask",
"module": "number",
"images": [base64_image],
})
answers = solution["answers"]
El modelo number admite enviar múltiples imágenes a la vez, y images puede contener hasta 9 cadenas en Base64. Para otros nombres de modelo y tipos de imagen aplicables, consulte la Documentación oficial de ImageToTextTask de CapSolver.
7. Resumen
Elegir la solución técnica adecuada para la automatización de navegadores de inteligencia artificial depende de la complejidad de la tarea, la frecuencia de los cambios en la estructura de la página y el mecanismo de verificación del sitio web objetivo. Herramientas tradicionales como Selenium y Playwright son adecuadas para flujos de automatización con estructuras estables y caminos de operación claros. Skyvern se basa en esto al introducir modelos de visión y LLMs, haciéndolo más adecuado para tareas web donde la estructura de la página cambia con frecuencia, requiere comprensión semántica o involucra operaciones de varios pasos. Al controlar el navegador basado en Playwright, puede completar la navegación entre páginas, rellenar formularios, hacer clic en botones y extraer datos a través de lenguaje natural. Cuando el proceso encuentra un desafío CAPTCHA, los desarrolladores pueden combinar el SDK oficial de CapSolver para obtener un token de verificación y luego llenar el resultado de vuelta en la página actual, permitiendo que Skyvern continúe con operaciones posteriores como el envío del formulario, transiciones de página y verificación de resultados. Al combinar Skyvern y CapSolver, los desarrolladores pueden construir flujos de automatización de navegadores más flexibles, mantenibles y escalables, reduciendo los costos de mantenimiento de selectores tradicionales mientras mejora la eficiencia y estabilidad de tareas web complejas. Definir claramente el alcance de la autorización, proteger las claves de API y verificar y registrar los resultados de la automatización son requisitos previos importantes para la operación estable de proyectos relacionados.
Referencias
Redimir su código de bonificación de CapSolver
¡Aumente su presupuesto de automatización instantáneamente!
Utilice el código de bonificación CAP26 al recargar su cuenta de CapSolver para obtener un 5% adicional de bonificación en cada recarga — sin límites.
Redímalo ahora en su Panel de CapSolver
Preguntas frecuentes (FAQ)
P1: ¿Cómo manejar CAPTCHAS dentro de iframes?
R1: Cambie al contexto del iframe primero usando page.frame_locator('iframe_selector') antes de inyectar el token. Asegúrese de que la websiteURL enviada a CapSolver sea la URL de la página principal, no la URL del iframe.
P2: ¿Qué hacer si el sitio web utiliza una función JavaScript personalizada?
R2: Identifique el nombre de la función de devolución de llamada (por ejemplo, onCaptchaResolved) y ejecútela a través de Playwright: await page.evaluate("onCaptchaResolved(token)", token).
P3: ¿Cómo mejorar las tasas de reconocimiento de ImageToText?
R3: Use parámetros module específicos (como number para CAPTCHAS numéricas) y asegúrese de que la imagen en Base64 extraída sea clara y de alta resolución.
P4: ¿Cómo manejar la seguridad de la clave de API?
R4: Nunca codifique en el código su clave de API. Use variables de entorno (por ejemplo, os.getenv("CAPSOLVER_API_KEY")) para cargarla de forma segura.
P5: ¿Debo implementar un mecanismo de reintentos?
R5: Sí, use bibliotecas como tenacity para implementar reintentos con retroalimentación exponencial para capsolver.solve() para manejar problemas temporales de red o servicio.
P6: ¿Qué pasa con la caducidad del token?
R6: Los tokens CAPTCHA caducan rápidamente (por ejemplo, en 2 minutos). Inyecte y envíe el token inmediatamente después de recibirlo de CapSolver.
P7: ¿Puede Skyvern enrutar automáticamente diferentes tipos de CAPTCHA?
R7: Sí, puede usar las capacidades de visión de Skyvern para identificar primero el tipo de CAPTCHA, luego construir dinámicamente el payload adecuado de CapSolver (por ejemplo, cambiar entre ReCaptchaV2TaskProxyLess y ImageToTextTask).
P8: ¿Cómo ayuda la visión de Skyvern de otra manera?
R8: Permite localizar elementos dinámicamente (encontrar CAPTCHAS sin IDs fijos), validar visualmente después del envío (verificar mensajes de éxito) y detectar errores visuales para reintentos más inteligentes.
Aviso de Cumplimiento: La información proporcionada en este blog es solo para fines informativos. CapSolver se compromete a cumplir con todas las leyes y regulaciones aplicables. El uso de la red de CapSolver para actividades ilegales, fraudulentas o abusivas está estrictamente prohibido y será investigado. Nuestras soluciones para la resolución de captcha mejoran la experiencia del usuario mientras garantizan un 100% de cumplimiento al ayudar a resolver las dificultades de captcha durante el rastreo de datos públicos. Fomentamos el uso responsable de nuestros servicios. Para obtener más información, visite nuestros Términos de Servicio y Política de Privacidad.
Máse
Visión general de IA: Seguimiento de la visibilidad de los competidores: Monitorear a quién cita Google en tu nicho.
Monitorea la visibilidad de los competidores en Google AI Overviews con monitoreo automatizado de citas y resolución de CAPTCHA.

Aloísio Vítor
31-Jul-2026

Registro de Empresas: Extracción de Datos para Agentes de IA. Automatizar la Verificación de Empresas
Automatizar la verificación de empresas con la extracción de datos del registro de empresas para agentes de inteligencia artificial.

Aloísio Vítor
30-Jul-2026

ChatGPT Search Monitoreo de Menciones de Marca: Rastrea Tu Marca en Respuestas de IA
Rastrea cuándo ChatGPT Search menciona tu marca en respuestas generadas por IA con monitoreo automatizado.

Aloísio Vítor
30-Jul-2026

Recopilación de datos de productos para e-commerce: Una Guía Completa
Guía completa sobre cómo construir canales de datos de productos para comercio electrónico para agentes de inteligencia artificial con resolución de CAPTCHA.

Aloísio Vítor
30-Jul-2026

Revisión de Skyvern: Automatización web de próxima generación con Razonamiento Visual
Un análisis de la arquitectura Planner-Agent-Validator de Skyvern. Explora cómo Skyvern revoluciona la extracción de datos de web y el llenado de formularios con capacidades de autocuración y integraciones fluidas de resolución de CAPTCHA.

Aloísio Vítor
29-Jul-2026

Skyvern Integrando CapSolver: Una guía sobre el manejo de CAPTCHA en la automatización de navegadores de inteligencia artificial
Descubre cómo gestionar de manera efectiva y evadir los desafíos CAPTCHA en la automatización de navegadores de inteligencia artificial. Este guía proporciona pasos prácticos para soluciones de automatización web robustas y escalables.

Aloísio Vítor
28-Jul-2026


