I am trying to change the language of Selenium Webdriver Firefox from English to Spanish.
I have the following code in place:
def get_webdriver(attempts=3, timeout=60):
firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("intl.accept_languages", "es-es")
desired_capabilities = getattr(
DesiredCapabilities, "FIREFOX").copy()
hub_url = urljoin('http://hub:4444', '/wd/hub')
driver = webdriver.Remote(
command_executor=hub_url, desired_capabilities=desired_capabilities,
browser_profile=firefox_profile)
return driver
However, the driver being returned is still in English and not in Spanish. What am I missing? How can I set the language to Spanish?
解决方案
To change the language for Firefox Browser exectued by Selenium do as follows:
English:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('intl.accept_languages', 'en-US, en')
driver = webdriver.Firefox(firefox_profile=profile)
German:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('intl.accept_languages', 'de-DE, de')
driver = webdriver.Firefox(firefox_profile=profile)
There is no need to import FirefoxProfile, because this method is linked to webdriver.
Here you'll find a full list of all country/language codes:
https://de.wikipedia.org/wiki/Liste_der_ISO-639-1-Codes