APIAutomatización básica de Dolphin {anty}

Automatización básica de Dolphin {anty}

Información general 📜

Los perfiles de navegador basados en el motor "Anty" admiten el lanzamiento con el Protocolo DevTools habilitado. Esto te permite conectarte a un perfil a través de un puerto generado al iniciarlo y automatizar el navegador usando herramientas como Puppeteer, Playwright, Selenium y otras.

La automatización básica incluye tres pasos:

  1. Iniciar un perfil vía API con el Protocolo DevTools habilitado.
  2. Conectarse al puerto del perfil usando una herramienta de automatización (Puppeteer, Playwright, Selenium, Postman, etc.).
  3. Ejecutar tu propio script de automatización a través de la conexión abierta.

ℹ️ Para usar la automatización de Dolphin{anty}, la aplicación debe estar en ejecución y autorizada. La autorización puede realizarse con login/contraseña o programáticamente mediante un token. Puedes crear un token en tu cuenta personal.

Parámetros de la solicitud para la autorización con token:

Para evitar un error 401, debes enviar una solicitud
Method: POST
URL: http://localhost:3001/v1.0/auth/login-with-token
Header: Content-Type: application/json
Body:

{ "token": "API_TOKEN"}

Sustituye API_TOKEN por tu token real de tu cuenta Dolphin{anty} en nuestro sitio.

ChromeDriver ⬇️

ChromeDriver es el puente entre tu script (por ejemplo, Selenium) y el navegador Dolphin{anty}. El driver estándar puede delatar la automatización, por eso proporcionamos nuestro propio ChromeDriver modificado para cada versión del navegador.

Download ChromeDriver

Ejemplos de solicitud de autorización ⚙️

✅ If successful, the response will be:

{"success": true}

Paso 1 — Iniciar un perfil vía API ▶️

Para iniciar un perfil de navegador vía API, envía una solicitud GET request:

​http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/start?automation=1

Para headless mode:

​http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/start?automation=1&headless=1​
  1. PROFILE_ID - el ID del perfil (puedes obtenerlo a través de la API o en la app Dolphin{anty} al editar un perfil).
  2. automation=1 - requerido para la automatización.

Ejemplo de inicio vía Postman enviando una solicitud:

⚠️ Important notes:

  1. La API local funciona solo si Dolphin{anty} está en ejecución.
  2. Las solicitudes deben enviarse desde la misma máquina donde se ejecuta el navegador.
  3. Por defecto, la API local usa el puerto 3001; si está ocupado, se asigna otro puerto (compruébalo en la ventana Estado de Dolphin{anty}).
  4. En el plan Free, la importación/exportación de cookies vía API no está disponible debido a la falta de sincronización en la nube.
  5. Request limits (rate limit): 1500 solicitudes por minuto

Respuesta de la API ✅

Si el perfil se inició correctamente, la respuesta se verá aproximadamente así (los valores de los camposport_ y_wsEndpoint_ pueden variar)_:

{
 "success": true,
  "automation": {
    "port": 50568,
    "wsEndpoint": "/devtools/browser/c71c1a9d-f07c-4dd9-84a9-53a4c6df9969" }}​

Paso 2 — Conectarse al perfil 🔌

Puppeteer

Puppeteer — biblioteca popular de Google para la automatización y pruebas de la interfaz del navegador. Originalmente creada para lanzar Chrome y verificar la UI, pero admite casi cualquier acción del navegador. Requiere conocimientos de JavaScript/Node.js.

Playwright

Playwright vs Selenium: What are the Main Differences and Which is Better?  - Applitools
Playwright vs Selenium: What are the Main Differences and Which is Better? - Applitools

Playwright - alternativa moderna a Puppeteer de Microsoft con API y funcionalidades similares.

Selenium

La conexión de Selenium a un navegador en ejecución se describe in this article. Cabe señalar que Selenium usa el ChromeDriver estándar, pero los sitios web pueden detectar la automatización. Por ello, recomendamos usar nuestro ChromeDriver — download it y especifica su ruta en tu código para ocultar el uso de Selenium.

Paso 3 — Detener un perfil ⛔️

Para detener un perfil de navegador vía API, envía una GET request:

 http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/stop