收到错误“DesiredCapability 类型的方法 chrome() 未定义”

Nav*_*mar 5 java selenium selenium-chromedriver desiredcapabilities

上下文:从以下代码中收到错误,因为方法 chrome 未定义:

package zapSeleniumIntegration;

import java.lang.reflect.Proxy;    
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class BrowserDriverFactory {

    static WebDriver driver;
    public static WebDriver createChromeDriver(Proxy proxy, String path) {
    // Set proxy in the chrome browser
    DesiredCapabilities capabilities = DesiredCapabilities.chrome();//Getting error as method chrome undefined
            capabilities.setCapability("127.0.0.1", 8080);
            // Set system property for chrome driver with the path
            System.setProperty("webdriver.chrome.driver", "C:\\Users\\kotla.naveen\\Desktop\\chromedriver.exe");
            capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
            ChromeOptions options = new ChromeOptions();
            options.merge(capabilities);
            return new ChromeDriver(options); 
    }
}
Run Code Online (Sandbox Code Playgroud)

Abh*_*yal 4

\n

旧方法 Capability 已被弃用。\n 使用 ChromeOptions 对象并将其传递给ChromeDriver()构造函数。另外,你不需要使用 options.merge(capabilities);替代,你可以使用options.setCapability(params, params)

\n
\n\n

但是,您可以完全跳过 DesiredCapability 并仅将 ChromeOptions 与 setCapability 方法一起使用,如下所述:

\n\n
ChromeOptions options = new ChromeOptions();\noptions.addArguments("disable-infobars");\noptions.setAcceptInsecureCerts(true);\noptions.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.ACCEPT);\n
Run Code Online (Sandbox Code Playgroud)\n\n

//将预定义的能力\xe2\x80\x93 ACCEPT_SSL_CERTS值设置为true:

\n\n
options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);\n
Run Code Online (Sandbox Code Playgroud)\n\n

//将 chromeoption 对象传递给 ChromeDriver:

\n\n
WebDriver driver = new ChromeDriver(options);\n
Run Code Online (Sandbox Code Playgroud)\n\n

**************设置代理**************

\n\n
ChromeOptions options = new ChromeOptions();\nProxy proxy = new Proxy();\nproxy.setAutodetect(false);\nproxy.setHttpProxy("proxy_url:port"); \nproxy.setSslProxy("proxy_url:port");\nproxy.setNoProxy("no_proxy-var");\n\noptions.setCapability("proxy", proxy); \ndriver = new ChromeDriver(options);\n
Run Code Online (Sandbox Code Playgroud)\n