Périmètre sûr : ce guide s'applique uniquement à vos propres applications, à vos environnements de QA, de préproduction ou de production, ou à des systèmes pour lesquels vous disposez d'une autorisation écrite. Il ne décrit pas l'automatisation de sites tiers.
Quand l'extension CaptchaAI valide la case reCAPTCHA mais reste bloquée sur la grille « sélectionnez toutes les images », la cause se niche presque toujours au même endroit : l'état du compte, le profil du navigateur ou la session dans laquelle le token est réinjecté. Traitez l'extension comme un workflow reproductible, et la plupart des tickets disparaissent.
Pourquoi la grille d'images bloque l'extension
La grille d'images est la variante visuelle de reCAPTCHA v2 : après le clic sur la case, Google peut présenter une sélection d'images à valider. L'extension récupère alors un token via l'API CaptchaAI et le réinjecte dans la page. Trois régressions reviennent sans cesse : un solde insuffisant qui interrompt la résolution en silence, un profil de navigateur qui change entre l'ouverture et la validation, et un token appliqué dans une autre session que celle du défi.
Avant de plonger dans la journalisation, écartez les causes évidentes : un solde qui couvre le coût par tâche, une clé API montée au runtime sans espace parasite, et un profil de navigateur stable. Une extension rechargée entre le clic et la validation casse la grille aussi sûrement qu'une clé erronée.
Le bon déroulé : capturer, résoudre, réinjecter dans la même session
Le déroulé qui tient en production suit toujours le même ordre. Capturez d'abord ce dont le solveur a besoin — le sitekey et l'URL de la page. Envoyez ensuite la tâche à CaptchaAI et interrogez régulièrement le résultat. Enfin — le point le plus souvent manqué — réinjectez le token dans la session qui a déclenché le défi : même contexte de navigateur, même client HTTP, même stock de cookies.
Exemple : appeler CaptchaAI depuis votre suite de tests
L'exemple ci-dessous, tiré de votre suite de tests, envoie une tâche reCAPTCHA v2 et renvoie l'identifiant à interroger :
import os
import requests
API_KEY = os.environ['CAPTCHAAI_KEY']
def submit_recaptcha_v2(sitekey: str, page_url: str) -> str:
payload = {
'clientKey': API_KEY,
'task': {
'type': 'NoCaptchaTaskProxyless',
'websiteURL': page_url,
'websiteKey': sitekey,
},
}
resp = requests.post('https://api.captchaai.com/createTask', json=payload, timeout=30)
resp.raise_for_status()
return resp.json()['taskId']
Une équipe QA à Lyon peut faire tourner ce flux dans sa CI (GitLab CI sur un runner Scaleway) : la clé vient d'un secret CI, jamais du code source.
Observabilité : mesurer ce qui casse vraiment
Instrumentez chaque appel CAPTCHA pour capturer la durée d'obtention du token, le code retour HTTP et l'identifiant de tâche. Suivez surtout deux métriques distinctes : le taux de réussite du solveur et le taux d'acceptation en aval. Une grille « résolue » refusée à la soumission signale un problème de session, pas de solveur.
Tableau de dépannage
| Problème | Cause probable | Correctif |
|---|---|---|
| La grille se recharge sans jamais se valider | Solde CaptchaAI insuffisant, résolution interrompue | Rechargez le solde et ajoutez une alerte de seuil |
ERROR_WRONG_USER_KEY |
Clé copiée avec un espace parasite ou mauvais compte | Recopiez la clé et stockez-la en secret CI |
| Token accepté puis refusé à la soumission | Token réinjecté dans une autre session que celle du défi | Gardez résolution et soumission dans le même contexte |
| Échecs intermittents en CI uniquement | Profil de navigateur recréé entre le clic et la validation | Figez le profil et l'extension pour toute la séquence |
FAQ
Pourquoi l'extension valide la case mais bute sur la sélection d'images ?
Parce que la case et la grille sont deux étapes distinctes de reCAPTCHA v2. Le clic réussit, puis Google renvoie une grille qui exige un token complet. Si la résolution s'interrompt entre les deux — solde vide, session recréée — la case paraît cochée mais la validation échoue.
Le token est accepté puis refusé à la soumission : pourquoi ?
C'est une histoire de session. Le token reCAPTCHA v2 est lié au contexte qui l'a demandé. Réinjectez-le dans le même navigateur, le même client HTTP et le même stock de cookies, faute de quoi le serveur le rejette même s'il est valide.
Un proxy change-t-il quelque chose sur les grilles reCAPTCHA ?
Pour vos propres applications autorisées, un proxy résidentiel n'est pas nécessaire à la résolution. Ne l'ajoutez que si votre environnement de test l'exige, et vérifiez vos obligations RGPD dès que des données personnelles transitent par vos journaux.
Comment isoler un incident : extension, réseau ou page ?
Partez de l'identifiant de tâche. S'il n'existe pas, la panne est en amont : clé, solde ou réseau. S'il existe mais que le token est refusé, regardez la session et la page.
Guides connexes
- le guide de démarrage rapide CaptchaAI
- tester le CAPTCHA en environnement autorisé
- tester l'endpoint API sur vos formulaires
- intégrer la gestion du CAPTCHA en CI
- résoudre reCAPTCHA v2 via l'API
Fiabilisez la résolution des grilles reCAPTCHA avec une approche méthodique et reproductible. – Obtenez votre clé CaptchaAI.