Получить версию браузера с помощью selenium webdriver

Как я могу использовать версию браузера?

>>> from selenium import webdriver
>>> driver = webdriver.Firefox()
>>> print version <-- how to do this?
    Firefox 12.0

6 ответов


на 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();
    }

}

просто публикация, потому что это была проблема, с которой я столкнулся.


хотя это может не совсем ответить на вопрос выше, это все еще может быть полезно для тех, кто ищет способ кодирования теста на основе различных моделей поведения, которые они получают из разных браузеров (например, Firefox vs Chrome). Я искал это в то время, когда наткнулся на эту нить, поэтому я подумал, что добавлю ее, если она может помочь кому-то еще.

на Python, если вы просто ищете браузер, который вы тестируете (например, firefox, chrome, ie и т. д..), тогда вы могли бы использовать...

driver.name

... в если заявление. Это предполагает, что вы уже назначили водитель в веб-браузер, который вы тестируете (например, Firefox, Chrome, IE и т. д..). Однако, если вам поручено протестировать несколько версий одного и того же браузера, вам понадобится что-то большее драйвер.версия. Надеюсь, это кому-то поможет. Я искал это решение, когда нашел этот поток, поэтому я подумал, что добавлю его на случай, если кому-то еще нужно он.


Если вы используете Chrome, вы можете сделать следующее:

driver.capabilities['version']

и если вы используете Firefox:

driver.capabilities['browserVersion']

просто отвечая на этот вопрос для пользователей Python, которые хотят распечатать все возможности, как я искал его, прежде чем я знал это . Ниже работает команда.

print driver.capabilities