java当新窗口尚未加载任何内容时,如何访问该窗口上的警报?
我正在运行一个Selenium脚本,有一次,我们打开了一个新窗口,在加载窗口中的任何内容之前,会弹出一个警报。我们切换到新窗口并尝试确认警报。这与我们在其他地方看到的警报类型相同,但当我们尝试确认,甚至只是尝试获取警报对象本身时,脚本挂起,试图在接下来的10分钟内转发getAlertText
最后它失败了:
[1568822219.289][SEVERE]: Timed out receiving message from renderer: 600.000
。。。这并不奇怪。我不明白的是,为什么我们不能得到这个警报,它看起来和我通过Chrome和Selenium处理过的其他警报一样,为什么它不返回NoSuchAlertException
,而不是非常缓慢地失败。我无法通过开发者工具检查警报,并且它没有注册为窗口:
我们正在使用driver.switchTo().alert()
。我还使用了ExpectedConditions.alertIsPresent()
条件。在切换到新窗口之前,我甚至尝试过访问警报,我并不希望它能工作,但当你没有任何逻辑可言时,你就会尝试不合逻辑的东西
还有其他人有这个问题吗?你做了什么来克服它?谢谢
# 1 楼答案
无法使用selenium处理此警报。要处理此警报,可以使用sikuli 和我用sikuli处理过的一样 只需导入sikuli包并编写代码