繁体   English   中英

ChromeDriver(功能功能)已弃用

[英]ChromeDriver(Capabilities capabilities) is deprecated

我将ChromeDriver 2.33WebDriver 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服务。

我希望您想问一下解决方法,以免过时。

不建议使用仅使用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);

使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM