在 Windows7 和 Firefox 中使用 Selenium IDE,自动单击链接可能会生成新选项卡或新窗口。
close() 关闭原始窗口或选项卡,而不是新的。也许如果我有新创建的 ID,我可以选择它然后关闭它,但我不知道如何自动执行此操作。我在 Selenium 论坛上提问并阅读了这里的问题,但他们关注的是 WebDriver,而不是 IDE。任何帮助,将不胜感激!
Stig
在 Windows7 和 Firefox 中使用 Selenium IDE,自动单击链接可能会生成新选项卡或新窗口。
close() 关闭原始窗口或选项卡,而不是新的。也许如果我有新创建的 ID,我可以选择它然后关闭它,但我不知道如何自动执行此操作。我在 Selenium 论坛上提问并阅读了这里的问题,但他们关注的是 WebDriver,而不是 IDE。任何帮助,将不胜感激!
Stig
我遇到了同样的问题并找到了解决方案:
waitForPopUp
selectPopUp
close
关闭选项卡selectWindow
将焦点设置到旧窗口我的 Selenium IDE 命令的屏幕截图:
这对我行得通。
在 Se IDE 中使用selectWindow(windowID)
命令切换到新窗口。您可以通过 windowID/name/title 选择新窗口。
希望这可以帮助...
selectWindow(windowID) 可以选择提及网页/窗口的标题作为识别目标窗口的一种方式。
语法 = selectWindow title=我的特殊窗口
注意:title = 在网页标题栏中可见的网页标题。或右键单击网页并选择菜单“页面来源”。在源文档中,选择...之间的文本。
所以如果网页的标题=我的特殊窗口,你会看到我的特殊窗口。
希望这会有所帮助。
斯瓦萨蒂保罗
同意surya使用selectWindow(windowID),您可以通过右键单击页面检查选项verifyTitle来获取窗口标题,并在前面您有您的标题。希望它有所帮助。
您可以使用迭代器在窗口之间进行迭代,关闭新窗口并返回到原来的窗口。你可以把它放在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
}