Como encontrar o sitekey de um captcha em qualquer página (4 formas)
Toda resolução de captcha começa pelo sitekey: o ID público que o site registrou no provedor de captcha. O navegador consegue vê-lo, então você também consegue. Para o PopularCaptcha, o sitekey é um UUID, como a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Outros provedores usam formatos diferentes. As chaves do Google reCAPTCHA, por exemplo, começam com 6L. Aqui estão quatro lugares para encontrá-lo, do mais fácil ao mais confiável.
A Scarnox resolve o PopularCaptcha hoje. A busca do sitekey funciona da mesma forma para qualquer captcha, então estes métodos também ajudam quando você planeja outro tipo. Outros tipos, como reCAPTCHA e Cloudflare Turnstile, estão em breve.
1. O atributo data-sitekey
Abra o DevTools (F12), vá para Elements, pressione Ctrl+F e procure por data-sitekey. A maioria dos widgets coloca a chave em um atributo assim:
<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>
Se você encontrar aqui, terminou. Copie o valor e siga para a resolução.
2. A aba Network
Se o widget for renderizado por JavaScript, o atributo pode nunca aparecer no HTML. Abra Network, recarregue a página e filtre pela requisição de configuração do widget. Para o PopularCaptcha, essa requisição normalmente se chama checksiteconfig. O sitekey é um dos parâmetros de consulta dela:
.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...
Filtrar pela palavra sitekey na URL da requisição também funciona, caso o nome seja diferente no site que você está testando.
3. A URL do iframe
O desafio em si é um iframe servido pelo provedor de captcha. O src dele carrega o sitekey como parâmetro. Clique com o botão direito no widget, escolha Inspecionar e leia o valor do endereço do iframe. Esse é o método mais confiável quando a página esconde o atributo do documento principal.
4. Widgets invisíveis
Um widget invisível não tem caixa de seleção. O site chama a função render() ou execute() do widget a partir do próprio código, e o sitekey é passado como argumento. Procure no JavaScript da página: abra o painel Sources e pressione Ctrl+Shift+F, depois procure por sitekey. Sitekeys invisíveis precisam da flag de invisível ao resolver. Veja resolução de captchas invisíveis.
Lendo o sitekey em um script
Se o atributo estiver no HTML bruto, um script pode lê-lo sem um navegador:
import re
import requests
html = requests.get("https://example.com/signup", timeout=30).text
m = re.search(r'data-sitekey="([^"]+)"', html)
print(m.group(1) if m else "no data-sitekey in the raw HTML")
Se isso não imprimir nada, o widget é renderizado por JavaScript. Use um navegador real, como no método da aba Network acima. Busque apenas páginas que você tem permissão para automatizar e mantenha a taxa de requisições baixa.
Qual URL vai junto?
Envie a URL da página onde o widget está como site_url. O host é o que mais importa, então https://example.com/signup é o valor a usar para um widget de cadastro. Uma requisição completa para o PopularCaptcha fica assim:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
"site_url": "https://example.com/signup"
}
Envie-a para https://api.scarnox.com/api/tasks/create com a sua chave no cabeçalho Authorization: Bearer. A chamada fica bloqueada até o token estar pronto, então não há uma segunda requisição para verificar o resultado.
Problemas comuns
- Dois sitekeys na mesma página. Sites às vezes incluem um widget para o formulário de login e outro para o de cadastro. Associe a chave ao formulário que de fato rejeita você, e verifique qual está mais perto do botão de envio.
- A chave muda entre as visitas. Leia-a de novo a cada execução. As chaves normalmente são estáveis, mas uma chave antiga de um deploy anterior pode parar de funcionar.
- A chave foi encontrada, mas o token é rejeitado. O sitekey provavelmente está certo. Verifique em seguida o tamanho do widget e a configuração de proxy, começando pelo guia de captcha invisível e pela comparação de proxy.
Confirmando que você tem o sitekey certo
Uma página pode conter mais de um sitekey. Widgets de analytics, formulários de comentários e caixas de newsletter às vezes adicionam os seus próprios. Antes de resolver, confirme que o sitekey pertence ao formulário que você está automatizando. Três verificações rápidas ajudam:
- Encontre o botão de envio do formulário no DevTools e suba na árvore do DOM até o elemento mais próximo que contém um
data-sitekey. Esse é o widget que protege o formulário. - Compare a chave com a da URL do iframe. Se coincidirem, você tem a chave que o widget realmente usa.
- Envie o formulário manualmente uma vez com um token resolvido, se tiver permissão para isso, e confira se o site aceita.
As chaves também podem mudar quando um site é reimplantado. Se uma chave que funcionava ontem parar de gerar tokens aceitos, leia a página de novo antes de mudar qualquer outra coisa. Uma nova leitura não custa nada e descarta a causa mais comum de uma falha repentina.
Páginas que carregam o widget somente depois de um clique precisam de mais uma etapa. Abra a página, faça o clique que mostra o widget e só então leia o sitekey. Ler a página antes do clique não retorna nada, o que parece um widget ausente, mas na verdade é um problema de tempo. Aguarde até que um elemento que corresponda a [data-sitekey] apareça, em vez de esperar um tempo fixo.
Próximos passos
- Como resolver um PopularCaptcha em Python
- Resolvendo um PopularCaptcha no Playwright e no Puppeteer
- Tipos de captcha explicados
- Teste grátis do solver de captcha
Comece com crédito de teste grátis, sem cartão: crie uma conta e teste o seu primeiro sitekey.