我是 selenium 网络驱动程序的新手,我正在尝试登录到一个网页,这会导致自动关闭登录页面,然后在另一个窗口中打开浏览器,在这里,当我尝试单击新页面中的注销按钮时,它说错误为“无法在关闭的窗口上找到元素”。
请有人建议我如何处理这种情况
问候, 帕万
我是 selenium 网络驱动程序的新手,我正在尝试登录到一个网页,这会导致自动关闭登录页面,然后在另一个窗口中打开浏览器,在这里,当我尝试单击新页面中的注销按钮时,它说错误为“无法在关闭的窗口上找到元素”。
请有人建议我如何处理这种情况
问候, 帕万
您需要切换窗口。此链接对如何执行此操作有很好的说明:
与您相关的部分是:
//Store the current window handle
String winHandleBefore = driver.getWindowHandle();
//Perform the click operation that opens new window
//Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
// Perform the actions on new window
当你尝试这样的事情时会发生什么?
driver.switchTo().defaultContent();
不确定这是否是正确的解决方案,但是当我尝试使用 Visual Studio 2013 的非管理员实例运行测试用例时,我得到了Unable to find element on closed window异常。但是当我以管理员身份运行相同的案例时,测试用例按预期工作,并且没有引发此异常。