无法下载无头Chrome浏览器中的文件

时间:2019-04-13 16:26:04

标签: c# selenium-webdriver selenium-chromedriver

我正在尝试使用无头Chrome浏览器下载文件。

在普通模式下,它可以正常工作, 但无论如何,无论设置什么偏好或选项,它都不会毫无例外地或无错误地下载pdf。

 ChromeDriverService service = ChromeDriverService.CreateDefaultService();
            service.HideCommandPromptWindow = true;

            ChromeOptions options = new ChromeOptions();

            options.AddArgument("--ignore-certificate-errors");
            options.AddArgument("--disable-popup-blocking");
            options.AddArgument("--disable-infobars");
            options.AddArgument("--disable-extensions");
            options.AddArgument("--disable-default-apps");
            options.AddArgument("--disable-gpu");
            options.AddArgument("--window-size=1920,1080");
            options.AddArgument("--user-agent=Chrome/73.0.3683.103");
            options.AddArgument("--headless");
            options.AddUserProfilePreference("download.default_directory",downloadsPath); 

options.AddUserProfilePreference("download.prompt_for_download",false);            
options.AddUserProfilePreference("safebrowsing.disable_download_protection",true);            options.AddUserProfilePreference("plugins.always_open_pdf_externally", true);

            IWebDriver driver = new ChromeDriver(service, options);
            driver.Manage().Cookies.DeleteAllCookies();
            var enableDownloadCommandParameters = new Dictionary<string, object>
            {
                { "behavior", "allow" },
                { "downloadPath", downloadsPath }
            };
            object  rt = ((ChromeDriver)driver).ExecuteChromeCommandWithResult("Page.setDownloadBehavior", enableDownloadCommandParameters);

1 个答案:

答案 0 :(得分:0)

这是2017年2月27日报告的无头模式错误。

预期结果是什么?

以无头模式启动并指向带有可下载文件的URL时,应下载文件并将其保存在“下载”文件夹中。

会发生什么?

什么也没有发生,文件没有下载。

错误链接-https://bugs.chromium.org/p/chromium/issues/detail?id=696481