Рекапча и селен

#java #selenium

#Ява #селен

Вопрос:

Я пытаюсь пройти проверку рекапчи проблема, с которой я сталкиваюсь, заключается в том, что иногда она проверяет без изображений, и большую часть времени она выдает изображения. Есть ли способ или кто-то знает, что требуется для проверки Рекапчи без изображений? Я не могу отключить рекапчу. Нет смысла иметь селен, если я остановлю его, чтобы решить проблему вручную. Мой код :

 SoftAssert Sa = new SoftAssert();  WebDriverWait wait = new WebDriverWait(driver, Duration.ofMillis(20000));  JavascriptExecutor js = (JavascriptExecutor) driver;  String FormatMessageInformatife = "lt;font color='#73a9d0'gt;lt;/brgt;lt;i class='fas fa-info-circle'gt;lt;/igt;- ";  String FormatMessageError = "lt;font color='#bf3d27'gt;lt;/brgt;lt;i class='fas fa-times-circle'gt;lt;/igt;- ";  String FormatMessageSucces = "lt;font color='#69c158'gt;lt;/brgt;lt;i class='fas fa-check-circle'gt;lt;/igt;-";  WebElement ClkSignup = driver.findElement(By.id("toggle-button"));  ClkSignup.click();  WebElement ClkSubscribe = driver  .findElement(By.xpath("//div[@id="dialog-07zr"]/div[@class="boutons-yellow"]/a[1]/button"));  ClkSubscribe.click();  wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='steps-title']/ul/li[@class='active'][1]/span[normalize-space(text())='Coordonnées']")));  Boolean AccesSubscription = driver.findElements(By.xpath("//div[@class='steps-title']/ul/li[@class='active'][1]/span[normalize-space(text())='Coordonnées']")).size() gt; 0;  if(AccesSubscription == true) {  Reporter.log(FormatMessageSucces   " Accessed Subscription lt;/fontgt;");  WebElement TVAInput = driver.findElement(By.id("create_account_step1_tva"));  sendHumanKeys(TVAInput,"FR75850236541");  WebElement EmailInput = driver.findElement(By.id("create_account_step1_mail"));  sendHumanKeys(EmailInput,"test2021test@gmail.com");  WebElement PhoneInput = driver.findElement(By.id("create_account_step1_phone"));  sendHumanKeys(PhoneInput,"0721547861");  WebElement PwdInput = driver.findElement(By.id("create_account_step1_password_first"));  sendHumanKeys(PwdInput,"Test07ZR");  WebElement CPwdInput = driver.findElement(By.id("create_account_step1_password_second"));  sendHumanKeys(CPwdInput,"Test07ZR");  wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath("//iframe[starts-with(@name, 'a-') and starts-with(@src, 'https://www.google.com/recaptcha')]")));  Thread.sleep(10000);  WebElement CaptchaClk = driver.findElement(By.cssSelector("div.recaptcha-checkbox-checkmark"));  js.executeScript("arguments[0].click();", CaptchaClk);  WebElement RBClk = driver.findElement(By.xpath("//div[@id="checkbox"]/label"));  js.executeScript("arguments[0].click();", RBClk);  WebElement ClkNext = driver.findElement(By.id("bt"));  js.executeScript("arguments[0].click();", ClkNext);  }else {  Sa.assertEquals(false, true, "Wasn't abel to acces Subscription");  ScreenShot(driver);  Reporter.log(FormatMessageError   " Wasn't abel to acces Subscriptionlt;/fontgt;");  

Комментарии:

1. Что вы подразумеваете под «повторной проверкой без изображений»? Вы должны предоставить скриншот Рекапты в браузере. Что именно происходит после ввода данных электронной почты, телефона и т.д.? как появляется рекапча и блокирует вашу автоматизацию? Пожалуйста, уточните.

2. Повторите, что вариация служит для предотвращения обхода веб-страниц. Селен-это своего рода веб-краулер. Если вам нужно пройти какой-то тест на селен, вам нужно спросить веб-мастера, как пройти проверку recaptcha.

3. @MudassirHussain он нажимает на рекапчу и показывает выбор изображения, но очень редко он нажимает на флажок и проверяет, не показывая проверку изображений

4. @pburgr веб-мастер, ты это имеешь в виду ?