簡體   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