我將如何獲得正在使用的瀏覽器版本?使用硒webdriver獲取瀏覽器版本
>>> from selenium import webdriver
>>> driver = webdriver.Firefox()
>>> print version <-- how to do this?
Firefox 12.0
我將如何獲得正在使用的瀏覽器版本?使用硒webdriver獲取瀏覽器版本
>>> from selenium import webdriver
>>> driver = webdriver.Firefox()
>>> print version <-- how to do this?
Firefox 12.0
的capabilities
屬性是一個包含有關瀏覽器的本身信息的字典,所以這應該工作:
print driver.capabilities['version']
這個答案我走上了正確的道路,但具體到Python和話題更廣闊。所以,我給Java添加了一個更復雜的答案。此時我正在使用硒2.25.0。
//make sure have correct import statements - I had to add these
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
WebDriver driver = new FirefoxDriver();
Capabilities caps = ((RemoteWebDriver) driver).getCapabilities();
String browserName = caps.getBrowserName();
String browserVersion = caps.getVersion();
System.out.println(browserName+" "+browserVersion);
如果你的包裹你的webdriver使其EventFiring你必須做一個自定義的EventFiringWebDriver實現。
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.HasCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.events.EventFiringWebDriver;
public class MyEventFiringWebDriver extends EventFiringWebDriver implements HasCapabilities {
private RemoteWebDriver driver;
public MyEventFiringWebDriver(RemoteWebDriver driver) {
super(driver);
this.driver = driver;
}
@Override
public Capabilities getCapabilities() {
return driver.getCapabilities();
}
}
只是發佈,因爲這是我遇到的問題。
雖然這不太回答上面的問題,這仍然可能是一個人,其在尋找一種方式來編寫基於他們來自不同的瀏覽器(即火狐VS鉻)收到不同的行爲測試非常有用。當我偶然發現這個帖子的時候,我正在尋找它,所以我想我會添加它以防別人幫助別人。
Python的,如果你只是去尋找你的瀏覽器正在測試(即火狐,Chrome,即等),那麼你可以使用...
driver.name
..在如果聲明。假設您已將驅動程序分配給您正在測試的網絡瀏覽器(即Firefox,Chrome,IE等)。但是,如果您的任務是測試同一瀏覽器的多個版本,則需要更多的驅動程序到driver.version。希望這可以幫助別人。當我找到這個線程時,我正在尋找這個解決方案,所以我想我會添加它,以防其他人需要它。
從Firefox版本48和轉發,你可以看到答案[這裏](https://stackoverflow.com/questions/23887911/how-to-check-firefox-version-when-running-selenium-tests-in-詹金斯/ 47816337#47816337) – ArgiesDario