J'utilise ChromeDriver 2.33
avec WebDriver 3.6.0
et essayez de définir le répertoire par défaut pour le téléchargement de fichiers.
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);
J'ai trouvé cela dans les documents:
Utilisez plutôt ChromeDriver (ChromeOptions). Crée une nouvelle instance ChromeDriver. Les capacités seront transmises au service chromedriver.
J'espère que vous vouliez poser des questions sur la solution de contournement pour éviter la dépréciation.
L'ancienne méthode de construction avec Capabilities
est obsolète. Maintenant, il prend un ChromeDriverService
& Capabilities
comme paramètres. Donc, construisez juste un ChromeDriverService
et passez le même avec votre Capabilities
pour supprimer l'avertissement de dépréciation.
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeDriverService service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("/usr/local/chromedriver"))
.usingAnyFreePort()
.build();
ChromeDriver driver = new ChromeDriver(service, capabilities);
EDIT: Puisque ChromeDriver(service, capabilities)
est désormais obsolète, vous pouvez utiliser,
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);
Cependant, vous pouvez ignorer complètement DesiredCapabilities
et utiliser uniquement ChromeOptions
avec la méthode setCapability
comme,
ChromeOptions options = new ChromeOptions();
options.setCapability("capability_name", "capability_value");
driver = new ChromeDriver(options);
La nouvelle façon d'utiliser les capacités chrome est la suivante:
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);
Vous pouvez obtenir plus d'options en consultant ce site: https://sites.google.com/a/chromium.org/chromedriver/capabilities