首页 > 解决方案 > 如何处理 OTP 弹出窗口?

问题描述

我正在尝试检查网页上的元素,但是一旦弹出窗口,它就会显示元素不可见的错误。

在此处输入图像描述

我正在使用正确的定位器,我也尝试为线程使用不同的超时。

睡眠它不工作。

当我单击查看源时,它也显示相同的框架。

我写了下面的代码:

\\\
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;

public class INDIALENDS {

public static void main(String[] args) throws InterruptedException {

System.setProperty("webdriver.chrome.driver","D:\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.navigate().to("https://indialends.com/");  
driver.manage().window().maximize();
String s=driver.getCurrentUrl();

System.out.println(s);
driver.getTitle();
String x=driver.getTitle();
System.out.println(x);
\\\


\\\
driver.findElement(By.linkText("Personal Loan")).click();
driver.findElement(By.name("li_display_name")).sendKeys("RAVNEET KAUR");
driver.findElement(By.id("email")).sendKeys("ravneetkaur@indialends.com");
driver.findElement(By.name("pincode")).sendKeys("122018");
driver.findElement(By.id("employment")).click();
Thread.sleep(5000);
driver.findElement(By.id("salaried12")).click();
Thread.sleep(5000);

driver.findElement(By.id("companyName")).sendKeys("INDIALENDS");

Thread.sleep(10000);
driver.findElement(By.id("monthlyIncome")).sendKeys("34000");
driver.findElement(By.id("mobile")).sendKeys("5282273663");
driver.findElement(By.id("li_submit")).click();
Thread.sleep(5000);
\\\


\\\
Thread.sleep(25000);
driver.findElement(By.id("li_submit")).click();
Thread.sleep(25000);
//new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.id("control__indicator")));
driver.findElement(By.id("li_agree")).click();
String s2=driver.getCurrentUrl();
\\\

\\\
System.out.println(s2);
driver.getTitle();
String x1=driver.getTitle();
System.out.println(x1);
Thread.sleep(5000);

}
}
\\\

标签: javaseleniumxpath

解决方案


这是完整的代码。请从你的最后尝试。

public class MyTesting {

  public static void main(String[] args) throws InterruptedException {

    System.setProperty("webdriver.chrome.driver", "F:\\Swaroop\\ChromeVersion87\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.navigate().to("https://indialends.com/");
    driver.manage().window().maximize();
    String s = driver.getCurrentUrl();

    System.out.println(s);
    driver.getTitle();
    String x = driver.getTitle();
    System.out.println(x);

    driver.findElement(By.linkText("Personal Loan")).click();
    driver.findElement(By.name("li_display_name")).sendKeys("RAVNEET KAUR");
    driver.findElement(By.id("email")).sendKeys("ravneetkaur@indialends.com");
    driver.findElement(By.name("pincode")).sendKeys("122018");
    driver.findElement(By.id("employment")).click();
    Thread.sleep(5000);
    driver.findElement(By.id("salaried12")).click();
    Thread.sleep(5000);

    driver.findElement(By.id("companyName")).sendKeys("INDIALENDS");

    Thread.sleep(10000);
    driver.findElement(By.id("monthlyIncome")).sendKeys("34000");
    driver.findElement(By.id("mobile")).sendKeys("5282273663");
    driver.findElement(By.id("li_submit")).click();
    Thread.sleep(5000);

    WebDriverWait wait = new WebDriverWait(driver, 30);
    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("control-indicator"))).click();
    String s2 = driver.getCurrentUrl();

    System.out.println(s2);
    driver.getTitle();
    String x1 = driver.getTitle();
    System.out.println(x1);
    Thread.sleep(5000);
  }
}

推荐阅读