【问题标题】:Selenium Webdriver - Accessing 2nd Child window(Popup)Selenium Webdriver - 访问第二个子窗口(弹出)
【发布时间】:2017-05-17 12:09:22
【问题描述】:

我正在自动化 IE 中的应用程序,如果用户单击主窗口上的链接,则会弹出一个子窗口。用户从弹出第二个子窗口的子窗口中进一步单击另一个链接。请找到相同application screenshot的截图

问题是第三个弹出窗口在第二个弹出窗口后面。使用以下代码,我可以获得第三个弹出窗口的标题,但不能在那里工作(比如点击任何链接等)。

请在下面找到我用来从第二个窗口导航到第三个窗口的代码。

`String Mw1 = driver.getWindowHandle();
 //User clicks a radio button on 2nd window
 driver.findElement(By.id("CallType-0")).click(); 
 //User click a submit button and after this the 3rd window popsup
 driver.findElement(By.id("cmdLogCall")).click();
 Set<String> r1=driver.getWindowHandles();
 Iterator<String> i2 =r1.iterator();
 while (i2.hasNext())
  {
     String childwindow2 = i2.next();
      if(!Mw1.equalsIgnoreCase(childwindow2))           
         {          
             driver.switchTo().window(childwindow2); 
             String z = driver.getTitle();

                 System.out.println(z);

                 driver.findElement(By.id("overridelink")).click();

              }       

     }`

请告诉我如何访问第三个窗口。谢谢

【问题讨论】:

  • 哈哈@Dev。没什么。

标签: selenium selenium-webdriver selenium-iedriver


【解决方案1】:

使用以下代码切换到需要的窗口

ArrayList<String> allWindows = new ArrayList<String> (driver.getWindowHandles());

driver.switchTo().window(allWindows.get(2));

System.out.println(driver.getTitle());
driver.switchTo().defaultContent();

【讨论】:

  • 感谢@Tuks 的回答。关于我正在处理的这个 AUT,我经常遇到“证书错误:导航被阻止”消息。无论如何要禁用它。谢谢
  • 请为证书错误创建一个单独的问题。另外,如果它满足您最初的问题,请不要忘记接受答案。
猜你喜欢
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
  • 2019-03-21
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多