2

我是 selenium 网络驱动程序的新手,我正在尝试登录到一个网页,这会导致自动关闭登录页面,然后在另一个窗口中打开浏览器,在这里,当我尝试单击新页面中的注销按钮时,它说错误为“无法在关闭的窗口上找到元素”。

请有人建议我如何处理这种情况

问候, 帕万

4

3 回答 3

2

您需要切换窗口。此链接对如何执行此操作有很好的说明:

如何切换到单击按钮后打开的新浏览器窗口?

与您相关的部分是:

//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
于 2013-09-17T05:22:15.640 回答
1

当你尝试这样的事情时会发生什么?

driver.switchTo().defaultContent();
于 2015-03-24T11:37:35.613 回答
1

不确定这是否是正确的解决方案,但是当我尝试使用 Visual Studio 2013 的非管理员实例运行测试用例时,我得到了Unable to find element on closed window异常。但是当我以管理员身份运行相同的案例时,测试用例按预期工作,并且没有引发此异常。

于 2015-09-01T06:07:24.780 回答