首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C# Selenium Edge Chromium上禁用SmartScreen (在边缘安全浏览)?

如何在C# Selenium Edge Chromium上禁用SmartScreen (在边缘安全浏览)?
EN

Stack Overflow用户
提问于 2021-04-20 01:42:51
回答 1查看 251关注 0票数 1

我正在尝试在Edge Chromium浏览器上运行一些selenium C#端到端测试。其中一个测试执行下载检查,基本上它下载一个xml文件并检查它是否存在于下载的位置。

我正在使用Microsoft.Edge.SeleniumTools EdgeOptions来构造EdgeDriver的选项。

但现在的问题是Edge阻止下载。

我试过不同的方法,但都不管用。

同样的问题也可以在Chrome上通过在ChromeOptions中禁用UserProfilePreferences上的“安全浏览”来解决。

我知道SmartScreen确实会阻止SmartScreen,如果是这样的话,有没有什么配置文件首选项可以用来禁用use?

或者任何其他在没有阻止的情况下强制下载的解决方法都会非常有帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-04-20 14:30:10

出于测试目的,我建议您创建HashMap对象并尝试设置边缘首选项,如下所示。

代码语言:javascript
复制
static void Main(string[] args)
 {
            HashMap<String, Object> edgePrefs = new HashMap<String, Object>();
            edgePrefs.put("profile.default_content_settings.popups", 0);
            edgePrefs.put("profile.default_content_setting_values.notifications", 2);       
            edgePrefs.put("profile.default_content_setting_values.automatic_downloads" , 1);        
            edgePrefs.put("profile.content_settings.pattern_pairs.*,*.multiple-automatic-downloads",1);

            var options = new EdgeOptions();
            egdeOptions.setExperimentalOption("prefs",edgePrefs);
            options.UseChromium = true;
            options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";   // Here add the Edge browser exe path.
            var driver = new EdgeDriver(@"Edge_driver_path_here...", options); // Here modify the selenium web driver path.
            driver.Navigate().GoToUrl("http://website_URL_here..."); 
            driver.FindElementById("lnk1").Click();
          
}

如果问题仍然存在,我建议您设置默认下载目录,如下所示。

options.AddUserProfilePreference("download.default_directory", @"D://Folder1");

看看下载文件是否有帮助。

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

https://stackoverflow.com/questions/67166818

复制
相关文章

相似问题

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