gpt4 book ai didi

java - 如何使用 selenium webdriver 处理覆盖/弹出窗口

转载 作者:行者123 更新时间:2023-12-01 12:58:20 24 4
gpt4 key购买 nike

我正在尝试通过网页自动执行(我的服务器的)初始配置。点击我的服务器 IP https:/localhost:4443 并输入我的凭据后,我会看到一个更改密码的窗口(覆盖/弹出窗口)。

问题:-如果我从另一台主机或另一浏览器浏览相同的 IP,我会在窗口上出现一个窗口,即在更改密码窗口上再出现一个窗口( Please click the link to see the screenshot )。

我尝试的是获取窗口的句柄,但它不起作用,它只提供一个句柄。

**它也不是框架。

HTML 代码 -- https://dl.dropboxusercontent.com/u/91420517/Html_Code.JPG

这是我的代码

    WebDriver driver=new FirefoxDriver();
driver.get("https://localhost:4443/ControlPoint/");
driver.findElement(By.xpath("//*[@id='name']")).sendKeys("xxxxxx");
driver.findElement(By.xpath("//*[@id='pass']")).sendKeys("xxxxxx");
driver.findElement(By.xpath("//*[@id='loginForm123']/div[6]/div[1]/div")).click();

Set<String> winIds = driver.getWindowHandles();
System.out.println("Total Windows --- " + winIds.size()); // its resulting the size as 1 which is not correct.
Iterator<String> it = winIds.iterator();
String mainWin=it.next();
String changeWin=it.next();
String shareWin =it.next();
driver.switchTo().window(shareWin);
String warning = driver.findElement(By.xpath("html/body/div[4234]/div[1]/span")).getText(); // to get the text on 3 window
System.out.println(warning);

如何解决这个问题。请帮忙。单击窗口 3 上的按钮的任何其他方式。

最佳答案

如果附加窗口是异步打开的,那么您可能在创建它之前过早地检查它(使用 getWindowHandles()) - 这是 Selenium 测试和异步的常见问题页面更新。

如果是这个问题,可以通过尝试几次并在每次之间等待检查是否出现新窗口来解决。

关于java - 如何使用 selenium webdriver 处理覆盖/弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com