我试图用Selenium/Python测试Web应用程序时遇到问题。基本上我不能测试弹出窗口的元素。Selenium:测试弹出式窗口
场景:我可以测试页面的所有元素。但是当我点击一个打开小弹出框的按钮时,我无法测试弹出窗口中的元素。这就像弹出窗口不是焦点或活动。
我可以测试下一页上的元素。例如,点击一个按钮,将我带到下一页,并且我可以使用“下一页”上的元素。所以这个问题似乎是弹出式的。
我可以发布代码,但说实话它可能会在这个阶段混淆。我可以在以后的文章中发布代码,感谢
我试图用Selenium/Python测试Web应用程序时遇到问题。基本上我不能测试弹出窗口的元素。Selenium:测试弹出式窗口
场景:我可以测试页面的所有元素。但是当我点击一个打开小弹出框的按钮时,我无法测试弹出窗口中的元素。这就像弹出窗口不是焦点或活动。
我可以测试下一页上的元素。例如,点击一个按钮,将我带到下一页,并且我可以使用“下一页”上的元素。所以这个问题似乎是弹出式的。
我可以发布代码,但说实话它可能会在这个阶段混淆。我可以在以后的文章中发布代码,感谢
有一个叫物业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
对于硒RC API,您需要使用SelectWindow命令切换到弹出窗口。该窗口可以通过其名称(如JavaScript window.open()
函数中指定)或其标题指定。要切换回主窗口,请使用SelectWindow(None)
。
感谢您的支持。我正在使用硒RC。这可以在RC中适应吗? – user1303594
http://stackoverflow.com/questions/99045/handling-browser-pop-up-windows-with-selenium这似乎与RC有关。我没有使用RC,所以我不知道。 – CosminO
不过,感谢网络驱动程序解决方案,但会派上用场 – user1303594