5

尝试使用 Selenium/Python 测试 Web 应用程序时遇到问题。基本上我无法测试弹出窗口的元素。

一个场景:我可以测试一个页面的所有元素。但是当我点击一个打开一个小弹出框的按钮时,我无法测试弹出窗口中的元素。就像弹出窗口不是焦点或活动一样。

我可以在下一页上测试元素。例如,单击一个按钮,将我带到下一页,我可以使用“下一页”上的元素。因此,问题似乎是特定于弹出窗口的。

我可以发布代码,但老实说,在这个阶段它可能会混淆。我可能会在以后的帖子中发布代码,谢谢

4

2 回答 2

6

There is a property called switch_to

Q: How do I handle pop up windows?

A: WebDriver offers the ability to cope with multiple windows. This is done by using the WebDriver.switch_to.window(knownName) method to switch to a window with a known name.

If the name is not known, you can use WebDriver.window_handles to obtain a list of known windows.

You may pass the handle to switch_to.window(handleName)

For example I used driverName.switchTo.window(driverName.getWindowHandle()) to get a hold of popups for which I didn't want to look for names.

Additional references: http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

于 2012-05-14T09:43:17.420 回答
0

对于 Selenium RC API,您需要使用 SelectWindow 命令切换到弹出窗口。窗口可以通过其名称(如 JavaScriptwindow.open()函数中指定的那样)或其标题来指定。要切换回主窗口,请使用SelectWindow(None).

于 2012-05-14T15:34:06.537 回答