繁体   English   中英

getWindowHandles 无法与最新的边缘浏览器版本一起正常工作

[英]getWindowHandles not working properly with latest edge browser version

我正在开发一个仅支持 Edge 浏览器的应用程序。 登录功能的工作原理如下 - 在登录屏幕上,当提供用户名和密码值并单击登录按钮时,将打开一个新的浏览器窗口,其中会弹出一个活动警报,提示“登录成功”以及类似于下图的“确定”按钮 -
带有警报弹出窗口的新窗口示例

此外,当这个新窗口打开时,旧的浏览器窗口变为空白。 当用户单击此 OK 按钮(或点击键盘上的 ENTER 按钮)时,用户主页将加载到这个新的浏览器窗口本身,而旧窗口在整个会话期间保持黑色。

自动化-

为了自动化处理这个流程,我使用了 getWindowHandles() 方法,我在其中获取这个新打开的窗口的句柄并接受警报。 这曾经在边缘浏览器版本 105 之前正常工作。但是,当边缘浏览器版本升级到 107 时,我开始面临 getWindowHandles() 方法进入无限循环并最终测试超时的问题。 我还尝试使用 Robot 类模拟 ENTER 按钮,但没有任何区别。 我尝试使用与当前浏览器版本 107 匹配的边缘驱动程序版本,但问题仍然存在。

有人可以让我知道可以为此做什么吗? 这些是更新的边缘浏览器版本的任何已知问题吗? 提前致谢..!!

这是为处理多个窗口而编写的代码,测试在 getWindowHandles() 方法本身超时。

for(String wh : driver.getWindowHandles()){
    driver.switchTo().window(wh);
}

添加Wait可能是这个问题的关键:

WebDriverWait wait = new WebDriverWait(driver,20);

顺便说一句,我已经在 Edge 108(也使用 Edge Driver 108)中进行了测试。 没有这样的错误消息,一切正常。 你可以升级到108看看这个问题有没有解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM