我有一个使用Java的Selenium项目,它使用不同的浏览器。我正在尝试介绍MS,但是在使用getVersion()方法时遇到了困难。下面是初始化浏览器的方法的代码片段。WebDriver“驱动程序”在类的开头声明。
if(strBrowser.equalsIgnoreCase("Edge"))
{
String FileName=m1.get("TOOLS_PATH").toString()+"//MicrosoftWebDriver.exe";
System.out.println("Full path to Edge executable: " + FileName);
File edgeDriver = new File(FileName);
System.setProperty("webdriver.edge.driver", edgeDriver.getAbsolutePath());
DesiredCapabilities caps = DesiredCapabilities.edge();
driver = new EdgeDriver(caps); //launches Edge browser
}
Capabilities caps = ((RemoteWebDriver) driver).getCapabilities();
String browserName = caps.getBrowserName();
String browserVersion = caps.getVersion().toString();在“启示录”中的调试过程中,当我在初始化“caps”对象后悬停在“caps”对象上时,它向我展示了以下功能:{acceptSslCerts=true、acceptSslCerts=true platformVersion=10、browserName=MicrosoftEdge、takesScreenshot=true、pageLoadStrategy=normal、takesElementScreenshot=true、platformName=windows、platform=ANY}
字符串browserName显示为"MicrosoftEdge",而browserVersion则为空。我预计结果会是"25.10586.672.0“
发布于 2017-02-15 03:37:08
尝试以下方法
String browser_version = null;
Capabilities cap = ((RemoteWebDriver) browserDriver).getCapabilities();
String browsername = cap.getBrowserName();
// This block to find out IE Version number
if ("internet explorer".equalsIgnoreCase(browsername)) {
String uAgent = (String) ((JavascriptExecutor) browserDriver).executeScript("return navigator.userAgent;");
System.out.println(uAgent);
//uAgent return as "MSIE 8.0 Windows" for IE8
if (uAgent.contains("MSIE") && uAgent.contains("Windows")) {
browser_version = uAgent.substring(uAgent.indexOf("MSIE")+5, uAgent.indexOf("Windows")-2);
} else if (uAgent.contains("Trident/7.0")) {
browser_version = "11.0";
} else {
browser_version = "0.0";
}
} else
{
//Browser version for Firefox and Chrome
browser_version = cap.getVersion();// .split(".")[0];
}
String browserversion = browser_version.substring(, browser_version.indexOf("."));
return browsername + " " + browserversion;发布于 2018-11-06 09:29:49
在firefox和Edge中,您需要指定需要其值的字段名--所以请这样做:
Capabilities capabilities = ((RemoteWebDriver) webDriver).getCapabilities();
String browserVersion = capabilities.getCapability("browserVersion").toString();https://stackoverflow.com/questions/42124602
复制相似问题