ChromeDriver(functionfunction)已弃用
我将ChromeDriver 2.33
与WebDriver 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
构建的旧方法。 现在,它需要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
,例如,
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