ChromeDriver(functionfunction)已弃用

我将ChromeDriver 2.33WebDriver 3.6.0一起使用,并尝试设置文件下载的默认目录。

 Map prefs = new HashMap(); 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); 

我在docs中找到了这个:

请改用ChromeDriver(ChromeOptions)。 创建一个新的ChromeDriver实例。 这些function将传递给chromedriver服务。

我希望您想询问有关避免弃用的解决方法。

不推荐使用Capabilities构建的旧方法。 现在,它需要ChromeDriverServiceCapabilities作为参数。 因此,只需构建一个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 ,例如,

 ChromeOptions options = new ChromeOptions(); options.setCapability("capability_name", "capability_value"); driver = new ChromeDriver(options); 

使用chromefunction的新方法如下:

 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