Javascript 在边缘浏览器中,如何执行window.open()操作而不在新窗口或选项卡中保留会话?
使用Edge browser时,我希望在不保留当前窗口会话的情况下打开新窗口和/或选项卡 我让它在Firefox上工作如下: 打开新窗口->窗口。打开('mySiteURL','u blank','status=no,noopener=yes'); 打开新标签->窗口。打开('mySiteURL','u blank','noopener=yes')Javascript 在边缘浏览器中,如何执行window.open()操作而不在新窗口或选项卡中保留会话?,javascript,selenium,browser,selenide,Javascript,Selenium,Browser,Selenide,使用Edge browser时,我希望在不保留当前窗口会话的情况下打开新窗口和/或选项卡 我让它在Firefox上工作如下: 打开新窗口->窗口。打开('mySiteURL','u blank','status=no,noopener=yes'); 打开新标签->窗口。打开('mySiteURL','u blank','noopener=yes') 我希望为Edge browser实现同样的功能。我将为您要打开的每个新窗口或选项卡创建一个新驱动程序缓冲区。 当您使用JS window.open(
我希望为Edge browser实现同样的功能。我将为您要打开的每个新窗口或选项卡创建一个新驱动程序缓冲区。 当您使用JS window.open()函数时, 只需执行
driverOfOldWindow.close()
,它就会关闭上一个窗口。
不要使用driverOfOldWindow.quit()
因为它将关闭所有浏览器窗口,这不是您可能想要做的,因为您的WebDriver可能已经打开了您可能希望仍在工作的其他窗口
要管理选项卡,只需使用getAllWindowHandles()
函数,并对要关闭的选项卡调用close()
方法
IE可以为不同窗口和选项卡中的内容创建多个内容进程 如果您的应用程序正在托管webbrowser控件,该控件随后会启动一个完整的IE窗口,那么您的新URL很可能是由另一个进程(iexpore.exe)而不是您的应用程序进程请求的。因此,请求无法访问会话cookies,因此会话显示为“丢失” (值得注意的是,同一进程树中的多个iexplore.exe进程实例可以相互共享会话cookie) 这有帮助吗?