我的情况如下面的SS所示。
我正在使用selenium(java)测试一些网络应用程序,在一瞬间我同时获得了4个弹出窗口。我想把它们全部解雇,但实际上我不能得到它们中的3个。
我正在搜索如何处理多个弹出窗口,并找到了这个主题:How to handle multiple alert popup confirmation in selenium? - 但这不是我正在搜索的内容。
第一次driver.switchTo()。alert()正在返回一个警报,我可以将其解雇。但第二次,它是空的,不可能打开剩余的弹出窗口。
我还尝试了使用driver.getWindowHandles()的这个主题(https://sqa.stackexchange.com/questions/8416/how-to-switch-handle-close-particular-popup-window-when-multiple-popups-are-ope),但它只返回一个句柄,因此没有多个窗口可以切换。
所以,我的问题是,我无法获得剩余的三个弹出窗口并解雇它们,任何提示或有人遇到同样的问题?
感谢。
答案 0 :(得分:0)
尝试获取弹出的文本,String str = driver.switchTo()。alert()。getText()然后尝试从第一个pop切换到另一个
答案 1 :(得分:0)
我有类似的问题,不得不使用autoit而不是selenium来解决它。 试试这个(page_title是弹出窗口的标题,假设你在windows机器上):
from win32com.client import Dispatch
autoit = Dispatch("AutoItX3.Control")
def _window_movement_windows(page_title):
autoit.WinSetOnTop(page_title, "", 1)
autoit.WinActivate(page_title, "")
autoit.WinWaitActive(page_title)
以下是如何安装和使用AutoIt:Calling AutoIt Functions in Python