Selenium无法处理边缘IE模式C的新窗口#



对于自动化项目,我必须使用带有edge的selenium webdriver。不幸的是,该网站是在IE内核下。所以我在IE模式下启动edge,一切都很好。但是,当控制器需要使用windowHandle检测新窗口时,即使等待也不会检测到任何新窗口。有可能使交换机在IE模式下工作吗?

PS:当我使用IE驱动程序时,我可以通过更改几行来启动IE。当我运行IE时,窗口更改就完成了。当我使用选项运行Edge时,我不会检测到任何东西。所以IE浏览器一切都很好,问题只来自边缘和IE模块。

我使用的IE驱动程序的功能如下:

var ieService = InternetExplorerDriverService.CreateDefaultService(dir, driver); 
var ieOptions = new InternetExplorerOptions{}; 
ieOptions.AddAdditionalCapability("ie.edgechromium", true); 
ieOptions.AddAdditionalCapability("ie.edgepath", "{path to msedge.exe}"); 
var webdriver = new InternetExplorerDriver(ieService, ieOptions, TimeSpan.FromSeconds(30)); 
driver.FindElement(By.Id("button")).Click(); 

Thread.Sleep(2000); 
string popupHandle = string.Empty; 
ReadOnlyCollection<string> windowHandles = driver.WindowHandles;  
foreach (string handle in windowHandles)  
{  
if (handle != existingWindowHandle)  
{  
popupHandle = handle;
break;  
}  
}  
driver.SwitchTo().Window(popupHandle); 

现在已经解决了。您可以下载最新的Selenium 4.0版本,并在IE模式下开始为Edge编写脚本。您也可以在github中的以下链接中关注IE模式中的MS Edge中的问题票证

相关内容

最新更新