pla*_*irt 7 java selenium-chromedriver selenium-webdriver desiredcapabilities
我用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);
Run Code Online (Sandbox Code Playgroud)
我在docs中找到了这个:
请改用ChromeDriver(ChromeOptions).创建一个新的ChromeDriver实例.这些功能将传递给chromedriver服务.
Sri*_*har 27
我希望你想问一下解决方法,以避免弃用.
刚建立的旧方法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);
Run Code Online (Sandbox Code Playgroud)
编辑:
既然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);
Run Code Online (Sandbox Code Playgroud)
但是,您可以完全跳过DesiredCapabilities
并仅ChromeOptions
使用setCapability
方法,
ChromeOptions options = new ChromeOptions();
options.setCapability("capability_name", "capability_value");
driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22198 次 |
最近记录: |