Tutorials

Utiliser l'extension CaptchaAI sur plusieurs profils Chrome

Périmètre sûr : ce guide s'applique à vos propres applications, à vos environnements de QA ou de production, ou à des systèmes pour lesquels vous disposez d'une autorisation écrite. Il ne décrit ni l'automatisation de sites tiers, ni la neutralisation de protections anti-bot.

Pour faire tourner l'extension CaptchaAI sur plusieurs profils Chrome sans que les sessions ne se mélangent, la règle tient en une phrase : un profil isolé par contexte, l'extension chargée dans chacun, et le token appliqué dans la session qui a déclenché le défi. Chaque profil garde son répertoire utilisateur, ses cookies et son état de connexion ; l'extension y résout le CAPTCHA localement. Voici comment poser cette isolation et la garder stable en intégration continue.

Pourquoi isoler chaque profil Chrome

Un profil partagé entre plusieurs contextes est la première cause de rejets après résolution : deux exécutions qui écrivent dans le même répertoire utilisateur s'écrasent leurs cookies, et le token d'une session finit appliqué dans une autre. En dédiant un profil par contexte — un client, un environnement, une file de test — vous obtenez des exécutions déterministes et un diagnostic sans ambiguïté.

Cette isolation sert aussi la conformité. Une équipe QA à Lyon qui valide le parcours de connexion de plusieurs clients gagne à séparer les profils : cookies et données de session ne se mélangent pas, dans l'esprit de la minimisation exigée par le RGPD.

Préparer un profil dédié par contexte

Posez trois fondations avant d'écrire la moindre ligne :

  • Un environnement de QA isolé de la production.
  • La clé CaptchaAI dans un coffre ou un secret de CI, jamais en clair dans le code.
  • Un répertoire --user-data-dir distinct par profil, nommé d'après le contexte — un nom parlant évite de charger le mauvais profil plus tard.

Charger l'extension dans chaque profil

Automatisez le chargement plutôt que de cliquer manuellement :

  • Chargez l'extension au lancement avec --load-extension, profil par profil : un chargement scripté est reproductible et survit à une réinstallation.
  • Renseignez la clé API une seule fois par profil ; elle reste attachée au répertoire utilisateur correspondant.
  • L'extension prend alors en charge les familles courantes — reCAPTCHA v2, reCAPTCHA v3, Cloudflare Turnstile — directement dans la page.

Compléter l'extension par un appel API

Quand un scénario réclame un token hors du navigateur — un worker headless, un test d'API, une file d'attente interne —, doublez l'extension d'un appel direct à l'API. Encapsulez-le dans une fonction réutilisable qui prend la sitekey et l'URL de votre page, renvoie un token et trace la durée et le code retour :

import fetch from 'node-fetch';

const API_KEY = process.env.CAPTCHAAI_KEY;

export async function createTurnstileTask(siteKey, pageUrl) {
  const res = await fetch('https://api.captchaai.com/createTask', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: 'TurnstileTaskProxyless',
        websiteURL: pageUrl,
        websiteKey: siteKey,
      },
    }),
  });
  const data = await res.json();
  return data.taskId;
}

La même fonction sert tous vos profils ; seul le contexte d'exécution change.

Vérifier le token côté backend

Le token renvoyé — par l'extension ou par l'API — doit être validé par votre propre backend avant toute opération métier, pour empêcher qu'une requête soit acceptée sur la foi d'un token périmé ou forgé. Appliquez-le dans la session qui a déclenché le défi : même profil, même contexte navigateur, même jar de cookies. Une session dépareillée reste la première cause de rejet après résolution.

Observabilité : un journal par profil

Instrumentez chaque appel CAPTCHA pour obtenir des métriques exploitables : durée d'obtention du token, code retour HTTP, identifiant de tâche et taille de la file interne. Étiquetez chaque ligne de journal avec le nom du profil et séparez les journaux par environnement. En corrélant un identifiant à votre traçage distribué (OpenTelemetry), vous rejouez un scénario complet et repérez tout de suite le profil fautif.

Liste de contrôle avant la mise en production

  • Un répertoire --user-data-dir distinct et nommé par contexte, jamais partagé.
  • L'extension chargée par script dans chaque profil, clé API renseignée une fois.
  • Périmètre limité à vos propres applications ou à des sources autorisées.
  • Clé CaptchaAI dans un secret de CI ou un coffre, jamais dans le code source.
  • Durées et codes retour tracés, avec le nom du profil, par exécution.
  • Un retry idempotent à backoff exponentiel pour les erreurs transitoires.

FAQ

Combien de profils Chrome puis-je faire tourner en parallèle ?

Autant que vos threads et votre machine le permettent. La facturation CaptchaAI repose sur les threads : le plan BASIC ($15/mois, 5 threads) autorise cinq résolutions simultanées, quel que soit le nombre de profils ouverts. Au-delà, la limite devient la mémoire du poste, pas l'API.

Faut-il une clé API distincte par profil ?

Non. Une seule clé CaptchaAI suffit ; tous les profils la partagent et puisent dans le même pool de threads. Renseignez-la dans chaque profil, mais gérez-la comme un secret unique côté CI.

Comment éviter que les sessions des profils se mélangent ?

Donnez à chaque profil son propre --user-data-dir et appliquez toujours le token dans le contexte qui l'a demandé. Tant que les répertoires utilisateur restent séparés, les cookies et l'état de connexion ne se croisent jamais.

Guides connexes

Fiabilisez la résolution CAPTCHA sur tous vos profils Chrome. – Obtenez votre clé CaptchaAI.

Les commentaires sont désactivés pour cet article.