【问题标题】:C# Selenium Edge Driver unable to download file - Keep file prompt shows upC# Selenium Edge 驱动程序无法下载文件 - 显示保留文件提示
【发布时间】:2022-08-23 12:51:33
【问题描述】:

我将 C# 与 Selenium 一起用于 QA 自动化,但在下载 .xml 文件时遇到问题,因为总是出现提示询问我是否要保留该文件。它还会打开第二个选项卡以执行下载,并在提示出现后将其关闭。 [保持文件提示][1]

使用 Chrome 我看不到这种行为。 我到处搜索,找不到能够解决此问题的 EdgeOptions() 和/或 AddArguments()。

有任何想法吗?

  • 用您的代码试验更新问题。

标签: c# selenium automation webdriver


【解决方案1】:

您需要使用 JS 与另一个浏览器中的元素进行交互。我有过这样的经验,我在我的方法中使用了 if else 语句来处理这个问题。只需查看 Selenium 文档、带有 selenium 示例的 JS 等等。

【讨论】:

    【解决方案2】:

    只需将此添加到您的 OneTimeSetup 方法中即可。确保以管理员身份运行 Visual Studio:

    public void SetEdgeXmlDownloadPolicy()
        {
            var keyName = @"HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\ExemptDomainFileTypePairsFromFileTypeDownloadWarnings";
            var valueName = "AllowXmlDownload";
            var valueData = @"{""domains"": ["" * ""], ""file_extension"": ""xml""}";
            var currentValue = Registry.GetValue(keyName, valueName, string.Empty);
            if (currentValue != null)
            {
                if (currentValue.ToString() == string.Empty || !currentValue.ToString().Contains("xml"))
                    Registry.SetValue(keyName, valueName, valueData, RegistryValueKind.String);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 2015-03-03
      • 2011-03-27
      相关资源
      最近更新 更多