Solução de Problemas

Erros de coordenadas de imagem de grade: diagnóstico e correção

CAPTCHAs de imagem de grade (desafios de imagem reCAPTCHA v2) retornam índices de células como solução. Quando as células retornadas estão erradas - clicando nos blocos errados ou obtendo ERROR_CAPTCHA_UNSOLVABLE - o problema geralmente está na forma como você envia a imagem, no parâmetro de tamanho da grade ou no texto da instrução.


Como funciona a resolução de imagens em grade

CaptchaAI recebe sua imagem de grade, analisa cada célula e retorna uma matriz de índices que correspondem à instrução. As células são numeradas da esquerda para a direita, de cima para baixo:

3×3 Grid:          4×4 Grid:
1 2 3              1  2  3  4
4 5 6              5  6  7  8
7 8 9              9  10 11 12
                   13 14 15 16

A resposta é semelhante a: [1, 3, 6, 9] — significando que as células 1, 3, 6 e 9 contêm os objetos de destino.


Erros e correções comuns

Tamanho de grade incorreto

O erro de coordenadas mais comum. Se o CAPTCHA for uma grade 4×4, mas você enviar grid_size=3x3, a numeração das células estará errada e os blocos errados serão selecionados.

# WRONG — 4×4 grid sent as 3×3
data = {
    "key": "YOUR_API_KEY",
    "method": "post",
    "grid_size": "3x3",      # Wrong!
    "img_type": "recaptcha",
    "instructions": "traffic lights",
    "json": 1
}

# CORRECT — match the actual grid
data = {
    "key": "YOUR_API_KEY",
    "method": "post",
    "grid_size": "4x4",      # Correct
    "img_type": "recaptcha",
    "instructions": "traffic lights",
    "json": 1
}

Como detectar o tamanho da grade programaticamente:

from PIL import Image

img = Image.open("grid_captcha.png")
width, height = img.size

# reCAPTCHA grids are square. 3×3 tiles are ~100px each, 4×4 tiles are ~75px each
tile_width = width // 3
if width % 4 == 0 and (width // 4) < 100:
    grid_size = "4x4"
else:
    grid_size = "3x3"

print(f"Detected grid size: {grid_size}")

Imagem cortada ou modificada

Enviar uma imagem cortada, redimensionada ou com captura de tela altera o alinhamento da grade. CaptchaAI precisa da imagem CAPTCHA original exatamente como foi renderizada.

Correção: capture a imagem diretamente do iframe reCAPTCHA, não uma captura de tela de página inteira.

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://example.com")

# Switch to reCAPTCHA iframe
iframe = driver.find_element(By.CSS_SELECTOR, 'iframe[title*="recaptcha"]')
driver.switch_to.frame(iframe)

# Get the grid image element
grid_img = driver.find_element(By.CSS_SELECTOR, "img.rc-image-tile-wrapper img")
grid_img.screenshot("grid_captcha.png")  # Captures just the grid, not the whole page

Instruções erradas ou vagas

O texto da instrução deve corresponder ao que o CAPTCHA pede. Instruções vagas levam a seleções erradas de células.

# WRONG — too vague
data["instructions"] = "select images"

# CORRECT — specific instruction from the CAPTCHA
data["instructions"] = "crosswalks"

Valores de instrução comuns: crosswalks, traffic lights, cars, buses, motorcycles, bicycles, fire hydrants, stairs, bridges, parking meters.


Deslocamento do índice de célula (baseado em 0 vs baseado em 1)

CaptchaAI retorna índices de células baseados em 1. Se o seu código de automação usar indexação baseada em 0, você precisará subtrair 1.

import json

# CaptchaAI returns 1-based indices
solution = json.loads(result["request"])  # e.g., [1, 3, 6, 9]

# Convert to 0-based for Selenium click automation
zero_based = [cell - 1 for cell in solution]

# Click grid cells using 0-based index
tiles = driver.find_elements(By.CSS_SELECTOR, ".rc-image-tile-wrapper img")
for idx in zero_based:
    tiles[idx].click()

Problemas de formato de imagem

CaptchaAI suporta JPG, JPEG, PNG e GIF. Outros formatos retornam ERROR_WRONG_FILE_EXTENSION.

# WRONG — WebP or BMP
files = {"file": open("grid.webp", "rb")}  # Not supported

# CORRECT — convert to PNG first
from PIL import Image
img = Image.open("grid.webp")
img.save("grid.png", "PNG")
files = {"file": open("grid.png", "rb")}

Árvore de decisão

Grid cells are wrong
    ↓
Is grid_size correct (3x3 or 4x4)? → No → Fix grid_size parameter
    ↓ Yes
Is the image the original CAPTCHA (not cropped)? → No → Capture directly from iframe
    ↓ Yes
Is instruction text specific? → No → Use exact CAPTCHA instruction text
    ↓ Yes
Using 1-based indexing for clicks? → No → Convert solution to 0-based
    ↓ Yes
Image in supported format (JPG/PNG)? → No → Convert image format
    ↓ Yes
Report tiles to CaptchaAI via reportbad

Relatando soluções incorretas

Se as coordenadas estiverem consistentemente erradas apesar dos parâmetros corretos, relate a solução:

requests.get("https://ocr.captchaai.com/res.php", params={
    "key": "YOUR_API_KEY",
    "action": "reportbad",
    "id": task_id,
    "json": 1
})

Isso ajuda CaptchaAI a aprimorar a precisão e pode reembolsar o custo de resolução.


Verificações de validação de grade

  • Confirme se as dimensões da grade correspondem às coordenadas esperadas pelo alvo antes de enviar qualquer resposta.
  • Normalize o dimensionamento da imagem e a matemática da janela de visualização para que os pontos de clique sobrevivam às alterações do zoom do navegador e da proporção de pixels do dispositivo.
  • Rejeite respostas que estejam fora da grade declarada, em vez de encaminhar silenciosamente coordenadas incorretas.

Perguntas frequentes

Quais tamanhos de grade o CaptchaAI suporta?

Grades 3×3 e 4×4. Estes são os formatos padrão de desafio de imagem reCAPTCHA.

Por que obtenho ERROR_CAPTCHA_UNSOLVABLE para imagens de grade?

A qualidade da imagem é muito baixa, o texto das instruções está errado ou a imagem não é uma grade CAPTCHA reconhecível. Verifique se você está enviando a imagem original não cortada com as instruções corretas.

Minhas células são compensadas por um. O que há de errado?

CaptchaAI retorna índices baseados em 1. Se o seu código espera baseado em 0, subtraia 1 de cada índice.


Resolva CAPTCHAs de imagem de grade com CaptchaAI

Obtenha soluções precisas de imagens de grade emcaptchaai.com.


Guias relacionados

Os comentários estão desativados para este artigo.