Hi everyone,
I’m newer, I have API key from 2captcha.com service, but i don’t know how to use it to resolve Captcha in Uipath. I already searched in this forum but don’t have the answer for my problem. I think should use Http request, but i don’t understand.
Observa este articulo de 2Captcha Cómo resolver reCAPTCHA V2 en PHP, Java, Python, Go, Csharp, CPP y realiza los pasos de la seccion “A mano” utilizando la accion de http request de UiPath.
Para que los pruebes, coloca los datos en duro primero y una vez que te salga, ya variabilizas
Este caso me salio para este tipo de captchas “reCAPTCHA V2”
Todo lo siguinete va dentro de un Do While Los pasos que segui son los siguientes
Capturar el sitekey.
Si es ESTATICO y te aseguras que siempre va a ser el mismo, lo puede colocar en tu codigo en duro y lo encuentras de la siguiente manera.
Si ves que el sitekey es DINAMICO, puedes capturar con JS, utilizando la accion de “Inject JS Script” y copias el siguiente codigo con todo y comillas dobles dentro de la accion “function(e){return document.getElementsByClassName(‘g-recaptcha’)[0].getAttribute(‘data-sitekey’)}” y en la propiedad “salidaDeScript” le colocas una variable nueva, de esta manera obtendras el SiteKey
2.Utilizar la accion de HTTP Request y configuraras las siguiente propiedes.
Metodo = GET
PuntoFinal = “https://2captcha.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITEKEY&pageurl=PAGINA DONDE SE ENCUENTRA EL CAPTCHA” . Aqui vas a reemplazar los siguientes campos YOUR_API_KEY,SITEKEY,PAGINA DONDE SE ENCUENTRA EL CAPTCHA
CodigoEstado = Crear variable
Resultado=Crear variable. Este resultado te arrojara algo como esto “OK|2122988149”, tú debes limpiar la variable de tal manera que solo obtengas el numero. Lo puedes limpiar con este codigo “VariableResultado.Replace(“OK|”,”“).Trim”
3.Colocar un delay de 15s o 20s. 00:00:15
Colocar otro HTTP Request.
Este metodo si va a ser “POST”
PuntoFinal = “https://2captcha.com/res.php?key=YOUR_API_KEY&action=get&id=” + Resultado
CodigoEstado = Crear variable o reutilizar la variable anterior
Resultado=Crear variable o reutilizar la variable anterior. Este resultado te arrojara el token final, tú debes limpiar la variable de tal manera que solo obtengas el token. Lo puedes limpiar con este codigo “VariableResultado.Replace(“OK|”,”“).Trim”
5.Condicion de DoWhile len(Resultado)<50
Una vez obtendio el token, te tocaria realizar el paso 3 de esta pagina.
Se que es mucho texto pero me sirvio para obtener el token y espero los ayude
En el punto N2, cambiarlo por POST y no GET. En una primera instancia me salio todo bien con GET pero luego fallo, lo cambie a POST y todo Bien
“2.Utilizar la accion de HTTP Request…”
Paso 3 para escribir el token en el text Area:
Luego de culminar los pasos anteriores, se debe colocar el token en el TextArea. En este caso hay 2 alternativas. Primero utiliza la primera, de no funcionar la primera, usa la segunda.
1. Primera Alternativa
Colocar una actividad de “Inject JS Script” y colocar el siguiente codigo:
“document.getElementById(‘g-recaptcha-response’).value=” + Resultado
De no salir, lo puede convertir en funcion y tambien intentarlo.
“function(e){return document.getElementsByClassId…”
No te olvides de colocar el evento de clic luego de esto. Este codigo anterior lo que hace es escribir el token en el text area. Si verificas que la alternativa anterior no funciona, ya que si deberia escribir y funcionar muy bien, usa la segunda alternativa
2. Segunda Alternativa
Anotar que la pagina que estaba automatizando, por alguna razon no escribia el token en el TextArea.
Asi que lo primero que tuve que hacer es que aparezca el text area y luego escribir el token.
Para que el area de Text Area sea visible, utilice el siguiente codigo en una actividad de “Inject JS Script”. El codigo fue este
“function(e){document.getElementById(‘g-recaptcha-response’).style.display = ‘block’}”
Luego use la actividad “set to clipboard” donde colocaba el token
Luego le di un delay de 3s
Luego le di una actividad “Send HotKey” = Control + V, en el area de Text Area Visible
Finalmente clic en el boton de “Buscar” o “Ingresar” dependiente la pagina que este automatizando.