硒驱动程序在保存文件时出现问题

时间:2018-09-06 09:15:35

标签: c# selenium google-chrome selenium-chromedriver

我在初始化chrome驱动程序时提供了默认文件路径,但不是保存在默认位置,而是保存在“下载”文件夹中。我还更改了Chrome设置中的默认值,但仍将其保存在下载文件夹中。

            ChromeOptions chrome = new ChromeOptions();
            _chromeDriverService = ChromeDriverService.CreateDefaultService(_config.ReadConfig(VanityRedirect_Constants.ChromeFilePath));
            _chromeDriverService.HideCommandPromptWindow = false;
            chrome.AddArguments("--test-type");
            chrome.AddArgument("--start-maximized");
            chrome.AddArguments("--disable-extensions");
            chrome.AddUserProfilePreference("download.prompt_for_download", true);
            chrome.AddUserProfilePreference("download.directory_upgrade", true);
            chrome.AddUserProfilePreference("download.default_directory", "Some Path");
            chrome.AddUserProfilePreference("safebrowsing.enabled", false);
            _driver = new ChromeDriver(_chromeDriverService, chrome, VanityRedirect_Constants.ChromeLoadTimeVanity); 

可以帮我解决这个问题吗?

上面的代码在一台服务器上工作正常,但能够在另一台服务器上的特定路径上下载。 它正在打开一个Windows对话框,我正在其中提供路径。现在,它在一台服务器上按给定路径进行下载,但是一旦在另一台服务器上使用相同的代码,则仅按下载路径进行下载。 我猜这是一个新问题,无法找到解决方案。请帮帮我。 预先感谢。

1 个答案:

答案 0 :(得分:0)

我在c Sharp中不知道确切的语法,但是在Java代码中就是这样

对于Chromedriver,请尝试:

String downloadFilePath = "/path/to/download";
HashMap<String, Object> chromePref = new HashMap<String, Object>();
chromePref.put("profile.default_content_settings.popups", 0);
chromePref.put("download.default_directory", downloadFilePath );
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePref);
DesiredCapabilities des_cap = DesiredCapabilities.chrome();
des_cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
des_cap.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(des_cap);