无法切换回默认帧

时间:2018-03-21 10:44:35

标签: java selenium selenium-webdriver

我正在研究以下情况。

我单击主网页中的元素,然后打开一个对话框。它是一个iframe,我使用diver.switchTo().frame(1);来访问该帧。我能够在该帧中执行所需的活动。单击该框架中的“确定”按钮将关闭它。框架关闭后,我无法访问主页面中的任何元素。我使用以下内容切换回主页面 driver.switchTo().defaultContent()driver.switchTo().frame(0)。但是他们都没有让我回到主页。

由于帧被关闭,我也试过没有任何switchTo()语句。但它也没有用。

请帮助我解决其他可能的解决方案。提前谢谢!

2 个答案:

答案 0 :(得分:2)

您需要切换回原始窗口(Java代码)

String windowHandle = driver.getWindowHandle(); // save the original window handle

// handle the pop up

driver.switchTo().window(windowHandle);

答案 1 :(得分:0)

当您尝试切换回顶级浏览环境时,您的以下代码试用应该有效:

driver.switchTo().defaultContent();

作为替代方案,您也可以尝试:

driver.switchTo().parentFrame();

有时可能会发生驱动程序失去窗口焦点,在这种情况下,您必须通过以下方式重新关注浏览器:

((JavascriptExecutor) driver).executeScript("window.focus();");