我正在尝试使用Selenium进行一些测试,但是我注意到ChromeDriver取决于浏览器版本。在文档页面上就是这样:
Chrome 63-65适用于chromedriver 2.36 Chrome 62-64适用于 chromedriver 2.35 Chrome 61-63与chromedriver 2.34 Chrome兼容 60-62适用于chromedriver 2.33 Chrome> 57,请使用chromedriver 2.28 Chrome> 54,使用chromedriver 2.25 Chrome = 53,使用chromedriver 2.24 Chrome> 49,使用chromedriver 2.22 Chrome> 43,使用chromedriver 2.20 Chrome> 41,使用chromedriver 2.15旧版本,使用chromedriver 2.10
那么,是否可以使用多个浏览器版本并动态设置ChromeDriver? 就像,如果我在装有Chrome 56的PC上运行测试,它将ChromeDriver设置为v2.25。如果我在装有Chrome 61的计算机上运行测试,则会将ChromeDriver设置为v2.33。
怎么可能?
我正在尝试使用以下代码测试ChromeDriver的初始化:
private void inicializeChrome()
{
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--silent");
//chromeOptions.AddArgument("--log-level=3");
//chromeOptions.AddArguments("--disable-extensions");
//chromeOptions.AddArgument("test-type");
chromeOptions.AddArgument("--ignore-certificate-errors");
chromeOptions.AddArgument("no-sandbox");
//chromeOptions.AddArgument("--headless");//hide browser
ChromeDriverService chromeService = ChromeDriverService.CreateDefaultService();
chromeService.SuppressInitialDiagnosticInformation = true;
chromeService.HideCommandPromptWindow = true;
driver = new ChromeDriver(chromeService, chromeOptions);
ICapabilities capabilities = ((RemoteWebDriver)driver).Capabilities;
driver.Manage().Window.Maximize();
}
还有另一个问题涉及ChromeDriver版本的错误,但是我想要的是一种动态设置ChromeDriver Versioin的方法,换句话说,我在代码中放入了4个或5个不同的ChromeDriver,并根据Chrome版本。