如何使用selenium关闭弹出窗口

时间:2015-05-26 17:22:30

标签: selenium

我对Selenium很新,需要能够关闭弹出窗口。我可以把它打开,但我似乎无法让代码认出那里是一个新窗口。我已经尝试过在所有这些问题中找到的所有代码,包括父母和句柄,而且我更加困惑。我的技能非常基础,但任何帮助都会受到赞赏。打开的弹出窗口有一个关闭按钮,我有点击它的名称,但我真的需要最简单的方法让代码在它到达关闭按钮之前识别新窗口。

感谢任何帮助!

尝试在此处添加代码。

   owd.findElement(By.xpath(vath)).click(); //Click ATH button
   System.out.println("ATH Report opened"); 

   //#1
   //owd.get(vURL2);
   //System.out.println("popout is opened"); 

   //#2
   //String parentWindowHandler = owd.getWindowHandle(); // Store your parent window
   //String subWindowHandler = null;

   //#3
   //Select handles = (Select) owd.getWindowHandles(); // get all window handles
   //Iterator<String> iterator = ((Set<String>) handles).iterator();
   //while (iterator.hasNext()){
   //    subWindowHandler = iterator.next();
   //}
   //owd.switchTo().window(subWindowHandler); // switch to popup window
                                               // perform operations on popup

   //owd.switchTo().window(parentWindowHandler);  // switch back to parent window

   //#4
   //owd.switchTo()).handle().accept();

   //#5       
   //String winHandle = owd.getWindowHandle(); //Get current window handle.
   //for(String windowsHandle : owd.getWindowHandles()) {
      //  owd.switchTo().window(windowsHandle); //Iterate to the new window handle.
   /*
   Do any action on window or just close it.
   */

  // owd.switchTo().window(winHandle); //Switch to original window.


   //#6
   owd.switchTo().window(vwindow);


   owd.findElement(By.xpath(vclose)).click(); //Click Close button
   System.out.println("Close button clicked"); 

1 个答案:

答案 0 :(得分:0)

首先需要切换到活动窗口/弹出警报/框架:

driver.SwitchTo().Window(<windowname>)
driver.SwitchTo().Frame("iFrmLinks")

并且总是关闭。

如果您谈论提醒:

driver.SwitchTo().Alert();
alert.accept();