尝试使用Selenium / Python测试Web应用程序时遇到问题。基本上我无法测试弹出窗口的元素。
方案:我可以测试网页的所有元素。但是当我点击一个打开一个小弹出框的按钮时,我无法测试弹出窗口中的元素。这就像弹出窗口没有焦点或活动。
我可以在下一页测试元素。例如,单击按钮,将我带到下一页,我可以使用“下一页”上的元素。所以问题似乎是特定的弹出窗口。
我可以发布代码,但说实话,在这个阶段可能会混淆。我可以在以后的帖子中发布代码,谢谢
答案 0 :(得分:6)
有一个名为 switch_to
的属性问:如何处理弹出窗口?
答:WebDriver提供了处理多个窗口的能力。这是通过使用WebDriver.switch_to.window(knownName)
方法切换到具有已知名称的窗口来完成的。
如果名称未知,您可以使用WebDriver.window_handles
获取已知窗口的列表。
您可以将句柄传递给switch_to.window(handleName)
例如,我使用driverName.switchTo.window(driverName.getWindowHandle())
来获取弹出窗口,我不想查找名称。
其他参考: http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions
答案 1 :(得分:0)
对于Selenium RC API,您需要使用SelectWindow命令切换到弹出窗口。可以通过名称(在JavaScript window.open()
函数中指定)或其标题指定窗口。要切换回主窗口,请使用SelectWindow(None)
。