web-dev-qa-db-ja.com

ChromeDriver(Capabilities capabilities)は廃止されました

私が使う ChromeDriver 2.33 with 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);

私はこれをドキュメントで見つけました:

代わりにChromeDriver(ChromeOptions)を使用してください。新しいChromeDriverインスタンスを作成します。機能はchromedriverサービスに渡されます。

7
plaidshirt

廃止を回避するための回避策についてお問い合わせください。

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);
_

EDIT: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 options = new ChromeOptions();
options.setCapability("capability_name", "capability_value");
driver = new ChromeDriver(options);
_
27
Sridhar

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