Ações Anticaptcha
As ações do Anticaptcha integram facilmente o Marvin com o serviço Anti-Captcha. Para utilizar este serviço é necessário ser usuário anticaptcha e possuir uma chave de conta anticaptcha válida.
Ações
anticaptcha.hcaptcha
Esta ação resolve hCaptchas, na página atual e nenhuma outra ação em captchas deve ser feita.
Para usá-lo, basta chamar essa ação no script, dado o objeto do navegador correto com uma página que contém hCaptcha, e aguardar a resolução do captcha.
O retorno de chamada pode ser validado de duas maneiras diferentes: POST ou função de retorno de chamada.
Se a página que você está automatizando usa o método POST para validar o ReCaptcha, basta chamar a ação anticaptcha.hcaptcha
passando sua anticapthca_key
, você não precisa passar a callback_function
.
Se a página usa a função callback, você deve passar como parâmetro sua anticaptcha_key
e o nome da callback_function
usada. Para identificar a função de retorno de chamada, você pode obter mais informações aqui
Importante: a solução ReCaptcha é válida por no máximo 2 minutos, por isso é importante resolver o captcha como a última ação antes do enviar da página, caso contrário a validação pode ser perdida.
Parâmetros:
browser - objeto do navegador com a página que contém o captcha
anticaptcha_key - Chave de Conta Anti-Captcha, para identificar sua conta e créditos no Anti-Captcha.
callback_function (opcional) - Defina o nome da função de retorno de chamada a ser chamada após a alteração do hCaptcha.
hcaptcha_key (opcional) - permite especificar a chave hcaptcha da página se Marvin não conseguir encontrá-la automaticamente.
Retorna:
Esta ação não dá retorno
Exceções:
CaptchaNotFound: se não for possível identificar o ReCaptcha V2 na página fornecida.
anticaptcha.image_captcha
Esta ação resolve o catpcha da imagem encontrada na tela.
Parâmetros:
anticaptcha_key - Chave de Conta Anti-Captcha, para identificar sua conta e créditos no Anti-Captcha.
img_file - arquivo contendo a imagem captcha a ser resolvida
Retorna:
captcha - texto com solução captcha
Exceções:
CaptchaNotFound: se não for possível resolver a imagem captcha
anticaptcha.recaptcha_v2
Esta ação resolve ReCaptchas na Versão 2, na página atual e nenhuma outra ação em captchas deve ser feita.
Para usá-lo, basta chamar essa ação no script, dado o objeto do navegador correto com uma página que possui o ReCaptcha V2, e aguardar a resolução do captcha.
O retorno de chamada pode ser validado de duas maneiras diferentes: POST ou função de retorno de chamada.
Se a página que você está automatizando usa o método POST para validar o ReCaptcha, basta chamar a ação anticaptcha.recaptcha_v2
passando sua anticapthca_key
, você não precisa passar a callback_function
.
Se a página usa a função callback, você deve passar como parâmetro sua anticaptcha_key
e o nome da callback_function
usada. Para identificar a função de retorno de chamada, você pode obter mais informações aqui
Importante: a solução ReCaptcha é válida por no máximo 2 minutos, por isso é importante resolver o captcha como a última ação antes do enviar da página, caso contrário a validação pode ser perdida.
Parâmetros:
browser - objeto do navegador com a página que contém o captcha
anticaptcha_key - Chave de Conta Anti-Captcha, para identificar sua conta e créditos no Anti-Captcha.
callback_function - Defina o nome da função de retorno de chamada a ser chamada após a alteração do ReCaptcha ser feita.
Retorna:
Esta ação não dá retorno
Exceções:
CaptchaNotFound: se não for possível identificar o ReCaptcha V2 na página fornecida.
Como obter a função de retorno de chamada ReCaptcha
A função de retorno de chamada ReCaptcha pode ser encontrada de duas maneiras diferentes: como um elemento HTML ou programaticamente.
Para usar o retorno de chamada do elemento HTML, é necessário incluir a classe g-recaptcha
dentro de um elemento (geralmente um input
ou um div
). A função callback é definida como parâmetro data-callback
, e a tag deve ter o data-sitekey
definido também, pois o exemplo define o loginFn
como função callback:
<input type="submit" class="g-recaptcha" data-callback="loginFn" onclick="validateForm" value="OK" data-sitekey="XXXXXXXXXXXXXXXXXXXXXXXX">
A definição de callback programaticamente, é feita na chamada do método grecaptcha.render
, passando o parâmetro callback
passando a função callback, pois o exemplo define o verifyCallbackCaptcha
como função callback: