2024-06-12 18:39:24 发布
网友
尝试使用Selenium/Python测试web应用程序时遇到问题。基本上我不能测试弹出窗口的元素。
场景:我可以测试页面的所有元素。但是当我点击一个打开一个小弹出框的按钮时,我无法测试弹出框中的元素。就像弹出窗口没有焦点或活动。
我可以在下一页测试元素。例如,单击一个按钮,转到下一页,我可以处理“下一页”上的元素。所以问题似乎是弹出式的。
我可以发布代码,但老实说,在这个阶段可能会混淆。我可以稍后再发代码,谢谢
有一个名为“切换”的属性
Q: How do I handle pop up windows?
答:WebDriver提供了处理多个窗口的能力。这是通过使用WebDriver.switch_to.window(knownName)方法切换到具有已知名称的窗口来完成的。
WebDriver.switch_to.window(knownName)
如果名称未知,可以使用WebDriver.window_handles获取已知窗口的列表。
WebDriver.window_handles
您可以将句柄传递给switch_to.window(handleName)
switch_to.window(handleName)
例如,我使用driverName.switchTo.window(driverName.getWindowHandle())来获取不想查找名称的弹出窗口。
driverName.switchTo.window(driverName.getWindowHandle())
其他参考: http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions
对于Selenium RC API,需要使用SelectWindow命令切换到弹出窗口。窗口可以通过其名称(在JavaScriptwindow.open()函数中指定)或其标题指定。要切换回主窗口,请使用SelectWindow(None)。
window.open()
SelectWindow(None)
有一个名为“切换”的属性
答: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
对于Selenium RC API,需要使用SelectWindow命令切换到弹出窗口。窗口可以通过其名称(在JavaScript
window.open()
函数中指定)或其标题指定。要切换回主窗口,请使用SelectWindow(None)
。相关问题 更多 >
编程相关推荐