我想在我的配置中使用自定义驱动程序提供程序。 但是在这种情况下,使用硒代替硒化物。 这样,我需要指定chromedriver.exe的路径,但是Selenide不需要下载它。
如何在不设置的情况下使用自定义驱动程序提供程序
System.setProperty("webdriver.chrome.driver", "path/chromedriver.exe");
致电网络驱动程序:
switch (conf_browser) {
case "chrome":
Configuration.browser = DriverProviderChrome.class.getName();
break;
WebdriverProvider:
public class DriverProviderChrome implements WebDriverProvider {
@Override
public ChromeDriver createDriver(DesiredCapabilities capabilities) {
File adf = new File("drivers");
System.setProperty("webdriver.chrome.driver", "drivers/chromedriver/win32/75.0.3770.90/chromedriver.exe");
capabilities = DesiredCapabilities.chrome();
LoggingPreferences logs = new LoggingPreferences();
logs.enable(LogType.DRIVER, Level.ALL);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--incognito");
chromeOptions.addArguments("start-maximized");
chromeOptions.addArguments("disable-infobars");
chromeOptions.addArguments("--user-data-dir=C:\\Users\\AntonK\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 1");
chromeOptions.setCapability(CapabilityType.LOGGING_PREFS, logs);
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
TestBase_working.log(capabilities.getVersion());
chromeOptions.merge(capabilities);
return new ChromeDriver(chromeOptions);
}
}
答案 0 :(得分:0)
Selenide调用WebDriverFactory
将chromedriver下载到本地Maven存储库并初始化webdriver.chrome.driver
系统属性。
您可以通过以下方式自动设置驱动程序路径:
WebDriverManager.chromedriver().setup();
Chromedriver路径存储在此处,但请注意该路径不是静态的,它会在驱动程序自动更新时发生变化:
WebDriverManager.chromedriver().binaryPath