Проблема с драйвером Selenium при сохранении файла - PullRequest
0 голосов
/ 06 сентября 2018

Я указываю путь к файлу по умолчанию при инициализации драйвера Chrome, но вместо сохранения в папке по умолчанию он сохраняется в папке Download. Я также изменил значение по умолчанию в настройках 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 голосов
/ 06 сентября 2018

Точный синтаксис, я не знаю до-диез, но в 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...