ChromeDriver(возможности возможностей) устарела
Я использую ChromeDriver 2.33
с WebDriver 3.6.0
и попробуйте установить каталог по умолчанию для загрузки файла.
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("download.default_directory", Vars.DOWNLOAD_FOLDER_ROOT);
DesiredCapabilities caps = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
options.setExperimentalOption("prefs", prefs);
caps.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(caps);
Я нашел это в документах:
Вместо этого используйте ChromeDriver(ChromeOptions). Создает новый экземпляр ChromeDriver. Возможности будут переданы службе chromedriver.
2 ответа
Я надеюсь, что вы хотели спросить об обходном пути, чтобы избежать устаревания.
Старый метод просто строить с Capabilities
устарела. Теперь требуется ChromeDriverService
& Capabilities
в качестве параметров. Итак, просто построить ChromeDriverService
и передать то же самое вместе с вашим Capabilities
удалить предупреждение об устаревании.
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeDriverService service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("/usr/local/chromedriver"))
.usingAnyFreePort()
.build();
ChromeDriver driver = new ChromeDriver(service, capabilities);
РЕДАКТИРОВАТЬ: С ChromeDriver(service, capabilities)
также устарела, вы можете использовать,
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeDriverService service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("/usr/local/chromedriver"))
.usingAnyFreePort()
.build();
ChromeOptions options = new ChromeOptions();
options.merge(capabilities);
ChromeDriver driver = new ChromeDriver(service, options);
Тем не менее, вы можете полностью пропустить DesiredCapabilities
и использовать только ChromeOptions
с setCapability
метод, как,
ChromeOptions options = new ChromeOptions();
options.setCapability("capability_name", "capability_value");
driver = new ChromeDriver(options);
Новый способ использования Chrome выглядит следующим образом:
ChromeOptions options = new ChromeOptions();
// Proxy proxy = new Proxy();
// proxy.setHttpProxy("myhttpproxy:3337");
// options.setCapability("proxy", proxy);
// options.addArguments("--headless");
// options.addArguments("--disable-gpu");
// options.setAcceptInsecureCerts(true);
// options.addArguments("--allow-insecure-localhost");
// options.addArguments("--lang=fr-CA");
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);
Вы можете получить больше вариантов, заглянув на этот сайт: https://sites.google.com/a/chromium.org/chromedriver/capabilities