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

4
使用Windows7和Firefox的Selenium IDE,在自动点击链接时可能会产生新标签页或新窗口。
close()关闭的是原始窗口或标签页,而不是新创建的那个。 如果我有新创建的标签页的ID,我可以选择它然后关闭它,但我不知道如何自动实现这一步骤。 我已在Selenium论坛上提问并阅读了这里的问题,但它们都聚焦于WebDriver,而不是IDE。 如有帮助,将不胜感激!
 Stig
5个回答

7
我曾经遇到过同样的问题,并找到了解决方案:
  1. 点击打开新标签的链接
  2. 添加 waitForPopUp 命令
  3. 通过 selectPopUp 命令设置焦点到新标签上
  4. 在新标签中进行验证或其他命令
  5. 使用 close 命令关闭标签页
  6. 使用 selectWindow 命令将焦点设置回旧窗口
以下是我的 Selenium IDE 命令截图:

Selenium IDE switch tabs

这对我有用。

0
使用selectWindow(windowID)命令在Se IDE中切换到新窗口。您可以通过其windowID /名称/标题选择新窗口。
希望这可以帮助...

谢谢Surya,但我不知道如何获取脚本通过点击链接打开的窗口的窗口ID等信息。手动获取每个窗口ID太麻烦了,所以IDE命令必须从链接信息中找到这些信息。有什么想法吗? - Stig

-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
}

-1

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


-1

selectWindow(windowID)有一个选项可以提供网页/窗口的标题作为识别目标窗口的一种方式。

语法 = selectWindow title=My Special Window

注意:title = 网页标题,可在网页标题栏中看到。或右键单击网页并选择菜单“页面源代码”。在源文档中,选择....之间的文本。

因此,如果网页的标题为“My Special Window”,则您将看到“My Special Window”。

希望这能帮到您。

Swasati Paul


欢迎来到SO!您不必在答案中加入“希望这可以帮助和姓名”部分。您可能想使用一些格式化功能,使您的答案更有组织性,更易于理解。特别是在代码和步骤方面(例如,项目符号或编号)。 - Ryan Gates

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接