在Selenium IDE中关闭新打开的选项卡或窗口

时间:2012-12-20 14:05:51

标签: firefox windows-7 selenium ide selenium-ide

在Windows7和Firefox上使用Selenium IDE,自动点击链接可能会产生新标签页或新窗口。

close()关闭原始窗口或选项卡,而不是新窗口或选项卡。也许如果我有新创建的ID,我可以选择它然后关闭它,但我不知道如何自动执行此操作。我已经在Selenium论坛上询问并阅读了这里的问题,但他们关注的是WebDriver,而不是IDE。任何帮助将不胜感激!

 Stig

5 个答案:

答案 0 :(得分:7)

我遇到了同样的问题并找到了解决方案:

  1. 点击打开新标签页的链接
  2. 添加命令waitForPopUp
  3. 通过命令selectPopUp
  4. 将焦点设置为新标签页
  5. 在新标签中对您的内容进行验证或其他命令
  6. 使用命令close关闭标签
  7. 使用命令selectWindow将焦点设置为旧窗口
  8. 我的Selenium IDE命令的屏幕截图:

    Selenium IDE switch tabs

    这适合我。

答案 1 :(得分:0)

使用selectWindow(windowID)命令在Se IDE中切换到新窗口。您可以通过windowID / name / title选择新窗口。

希望这会有所帮助......

答案 2 :(得分:-1)

同意surya使用selectWindow(windowID),您可以通过右键单击页面来获取窗口标题,然后检查选项verifyTitle,并在您面前获得您的标题。希望它有所帮助。

答案 3 :(得分:-1)

selectWindow(windowID)可以选择提及网页/窗口的标题作为识别目标窗口的方法。

syntax = selectWindow title = My Special Window

注意:title =在网页标题栏中可见的网页标题。或者右键单击网页并选择菜单" Page source"。在源文档中,选择....之间的文本。

因此,如果网页标题=我的特殊窗口,您将看到我的特殊窗口。

希望这会有所帮助。

Swasati Paul

答案 4 :(得分:-1)

您可以使用迭代器在窗口之间进行迭代,关闭新窗口并返回原始窗口。你可以将它放在try块下,因为它只会在新窗口打开时迭代。否则,它将在当前窗口中继续正常执行。

try{     
Set <Strings> ids = driver.getWindowHandles();
Iterator <String> it = ids.iterator();
String currentPage = it.next();
String newPage = it.next();
driver.switchTo().window(newPage);
driver.close(); //it will close the new window and automatically come back to the currentPage
}
finally
{
//continue with your script here
//this script will run regardless of the execution of the execution of the try block
}