我在处理机器人框架中的弹出窗口时遇到问题。
我想要自动化的过程是:
单击该按钮时,将显示弹出窗口。单击该弹出窗口中的链接后,弹出窗口将自动关闭并返回主页面。
当弹出窗口出现时,主页面被禁用,只有当点击弹出窗口中的链接时才能启用它。
我遇到的问题是,在弹出窗口中单击链接后,我无法返回主页面。我收到了以下错误。
20140604 16:04:24.160:FAIL:NoSuchWindowException:消息:u'无法获取浏览器'
我希望你们能帮我解决这个问题。
谢谢!
答案 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中的关键字。