上下文:从以下代码中获取错误作为未定义的方法 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);
}
}
旧方法 Capabilities 已弃用。 使用 ChromeOptions 对象并将其传递给
ChromeDriver()
构造函数。此外,您不需要改用options.merge(capabilities);
,您可以使用options.setCapability(params, params)
但是,您可以完全跳过DesiredCapabilities,而仅将Chrome选项与setAbility方法一起使用,如下所述:
ChromeOptions options = new ChromeOptions();
options.addArguments("disable-infobars");
options.setAcceptInsecureCerts(true);
options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.ACCEPT);
设置预定义的功能 – ACCEPT_SSL_CERTS值为 true:
options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
将 chromeoption 对象传递给 ChromeDriver:
WebDriver driver = new ChromeDriver(options);
********设置代理
******ChromeOptions options = new ChromeOptions();
Proxy proxy = new Proxy();
proxy.setAutodetect(false);
proxy.setHttpProxy("proxy_url:port");
proxy.setSslProxy("proxy_url:port");
proxy.setNoProxy("no_proxy-var");
options.setCapability("proxy", proxy);
driver = new ChromeDriver(options);
请改用以下行: 期望功能功能 = 新的期望功能((;