Search code examples
javagoogle-chromeseleniumwebdriverselenium-webdriver

Set Chrome's language using Selenium ChromeDriver


I download ChromeDriver and by defaults the browser language is in English, I need to change it to Spanish, and I have been unable.

public WebDriver getDriver(String locale){   
    System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");
    return new ChromeDriver();
}

public void initializeSelenium() throws Exception{
    driver = getDriver("en-us")
}

Solution

  • You can do it by adding Chrome's command line switches "--lang".

    Basically, all you need is starting ChromeDriver with an ChromeOption argument --lang=es, see API for details.

    The following is a working example of C# code for how to start Chrome in Spanish using Selenium.

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--lang=es");
    ChromeDriver driver = new ChromeDriver(options);
    

    Java code should be pretty much the same (untested). Remember, locale here is in the form language[-country] where language is the 2 letter code from ISO-639.

    public WebDriver getDriver(String locale){   
        System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--lang=" + locale);
        return new ChromeDriver(options);
    }
    
    public void initializeSelenium() throws Exception{
        driver = getDriver("es"); // two letters to represent the locale, or two letters + country
    }