关闭弹出窗口后返回主页面

时间:2014-06-04 08:20:04

标签: python-2.7 selenium selenium-webdriver robotframework automated-tests

我在处理机器人框架中的弹出窗口时遇到问题。

我想要自动化的过程是:

单击该按钮时,将显示弹出窗口。单击该弹出窗口中的链接后,弹出窗口将自动关闭并返回主页面。

当弹出窗口出现时,主页面被禁用,只有当点击弹出窗口中的链接时才能启用它。

我遇到的问题是,在弹出窗口中单击链接后,我无法返回主页面。我收到了以下错误。

20140604 16:04:24.160:FAIL:NoSuchWindowException:消息:u'无法获取浏览器'

我希望你们能帮我解决这个问题。

谢谢!

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,这是解决问题的方法

 String window = driver.getWindowHandle();  

现在点击按钮调用弹出窗口并给出一些等待时间

然后使用以下代码切换到新窗口

driver.switchTo().window("your new window name");
//perform your action in the new window and then

要在弹出窗口关闭后重新控制主页面,请使用以下代码

 driver.switchTo().window(window);

这将帮助您激活主窗口并继续您的操作。

如果有这个帮助,请告诉我

答案 1 :(得分:0)

不知道在Python中但是在Java中你可以在pop打开后使用下面的代码来解决你的问题:

Object[] parentHandle = myDriver.getWindowHandles().toArray();
myDriver.switchTo().window((String) parentHandle[0]);
  

在第一行代码中,parentHandle是当前的数字   窗口以数组形式。在我转向的第二行代码中   第一个窗口,第二个窗口可以使用1。

如果仍有问题,或者您需要其他内容,请提出建议。

答案 2 :(得分:0)

我已经看到了这个问题,发现有一个恢复期,在关闭窗口后Selenium在短时间内无法正常工作。尝试使用固定延迟或轮询使用Wait Until Keyword Succeeds结合Selenium2Library中的关键字。