#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 веб-мастер, ты это имеешь в виду ?