首页 > 解决方案 > 在 Edge 浏览器中,如何执行 window.open() 并且不在新窗口或标签中保持会话?

问题描述

使用 Edge 浏览器,我想在不保留当前窗口会话的情况下打开一个新窗口和/或选项卡。

我让它像这样在 Firefox 上工作: Open new window -> window.open('mySiteURL', '_blank', 'status=no,noopener=yes'); 打开新标签-> window.open('mySiteURL', '_blank', 'noopener=yes');

我想为 Edge 浏览器实现相同的功能。

标签: javascriptseleniumbrowserselenide

解决方案


我会为您要打开的每个新窗口或选项卡创建一个新驱动程序缓冲区。当您使用 JS window.open() 函数时,只需执行此操作driverOfOldWindow.close(),它将关闭前一个窗口。不要使用driverOfOldWindow.quit(),因为它会关闭所有浏览器窗口,这不是您可能想要做的,因为您的 WebDriver 可能已经打开了您可能希望仍在工作的其他窗口。

要管理选项卡,只需在要关闭的选项卡上使用getAllWindowHandles()函数和调用方法。close()

看这里


推荐阅读