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-dirdistinct 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-dirdistinct 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
- le démarrage rapide CaptchaAI
- la QA CAPTCHA en environnements autorisés
- tester l'endpoint API sur vos formulaires
- l'intégration CAPTCHA en CI
- résoudre reCAPTCHA v2 via l'API
Fiabilisez la résolution CAPTCHA sur tous vos profils Chrome. – Obtenez votre clé CaptchaAI.