java - 如何处理 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);
}
}
\\\
解决方案
这是完整的代码。请从你的最后尝试。
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);
}
}
推荐阅读
- cassandra - 如何在 MacOs Big Sur 上安装 Cassandra
- java - 如何在同一个项目中找到文件的路径?
- angular - 在 RxJS 管道中转换 JavaScript 对象
- json - 如何创建带引号的动态列表?
- python - 求解通过矩形板的传热的二维拉普拉斯方程
- azure - 用于外部共享文件夹的 Microsoft Graph API 增量
- swift - 除非有背景颜色,否则 UIButton 不会更改图像
- c++ - 运行时错误:“TreeNode”类型的空指针内的成员访问
- wso2 - 如何在消息处理器的 WSO2 Enterprise Integrator 中使用我的注册表配置
- wordpress - AMP 版本中的重定向过多