简体   繁体   中英

How can I set the browser version in Selenium RemoteWebDriver?

When I use HtmlUnitDriver I can set my own browserVersion like:

private HtmlUnitDriver initDriver() {
    BrowserVersion browserVersion = new BrowserVersion(
            BROWSER_NAME,
            BROWSER_OS,
            USER_AGENT,
            Float.parseFloat(BROWSER_VERSION));
    browserVersion.setBrowserLanguage(BROWSER_LANGUAGE);
    browserVersion.setHtmlAcceptHeader(HTML_ACCEPT_HEADER);
    return new HtmlUnitDriver(browserVersion);
}

Is it possible to do the same with the RemoteWebDriver ?

WebDriver driver = new RemoteWebDriver(
            new URL("http://localhost:4444/wd/hub"),
            myCapabilities);

In Capabilities I can set myCapabilities.setBrowserName("htmlunit") . Is that all that I can do ?

EDIT :

To be clear, I need 3 things:
a) Selenium-server-standalone to be able to reuse the same old SessionID
b) To make browser that works only from console (so no firefox afaik)
c) To make http requests the same as the latest browsers so there will be no difference in the server logs.

You can also set a lot of parameters, for example:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("firefox");
capabilities.setVersion("35.0");
capabilities.setPlatform(Platform.VISTA);

try {
    driver = new RemoteWebDriver(new URL("http://192.168.63.109:5555/wd/hub"), capabilities);
} catch (MalformedURLException e) {
    e.printStackTrace();
}

A bit more settings to skip dialog on file downloading using custom FirefoxProfile:

public static WebDriver setDriver() {

     FirefoxProfile fxProfile = new FirefoxProfile();

     fxProfile.setPreference("browser.download.folderList", 2);
     fxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
     fxProfile.setPreference("browser.download.manager.showWhenStarting", false);
     fxProfile.setPreference("browser.download.dir", dir);
     fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel," +
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

     return new FirefoxDriver(fxProfile);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM