如何使用 Selenium 3.3.1 获取主要的 Safari 10 版本号?

How to get major Safari 10 version number with Selenium 3.3.1?

我正在开发一个 Java 工具来使用 Selenium 3.3.1 在 MacOS Sierra 上自动化 Safari 10.x。 我创建 SafariDriver 和获取 Safari 版本的代码如下:

DesiredCapabilities createCap = DesiredCapabilities.safari();
// some more options
WebDriver driver = new SafariDriver(createCap);
// do other tasks
//....
// try several ways to get version (displayed on About dialog is 10.0.1 (12602.2.14.x)
Capabilities newCap = ((RemoteWebDriver) driver).getCapabilities();
System.out.println("Version: " + newCap.getVersion());  

Object capVersion = newCap.getCapability("version");
System.out.println("Other way: " + capVersion.toString());

以上2种方法的结果都是"12602.2.14.x".

如何获得准确的版本“10.0.1”?

尝试使用以下方法:

JavascriptExecutor js = (JavascriptExecutor) driver;
System.out.println(js.executeScript("return navigator.userAgent",""));

你会得到一个字符串;您可以在其中查明您的浏览器详细信息并提取它。