首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium无法使用edge IE模式C#处理新窗口

Selenium无法使用edge IE模式C#处理新窗口
EN

Stack Overflow用户
提问于 2021-05-18 11:01:33
回答 1查看 971关注 0票数 0

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

PS:由于我使用IE驱动程序,我可以通过更改几行启动IE。当我运行IE时,窗口更改就完成了。当我使用选项运行Edge时,我不会检测到任何东西。因此,所有的工作与IE浏览器良好,问题只来自边缘和IE模式。

我正在使用具有如下功能的IE驱动程序:

代码语言:javascript
运行
复制
   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)); 
代码语言:javascript
运行
复制
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); 
EN

回答 1

Stack Overflow用户

发布于 2022-02-02 13:27:44

现在这个问题解决了。您可以下载最新的Selenium 4.0版本,并在IE模式下开始为Edge编写脚本。您还可以在下面的链接IE模式下的MS Edge中跟踪github中的问题票

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67584897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档