Change language on Firefox with Selenium Python
To change the language for Firefox Browser exectued by Selenium do as follows:
English:
from selenium import webdriverprofile = webdriver.FirefoxProfile()profile.set_preference('intl.accept_languages', 'en-US, en')driver = webdriver.Firefox(firefox_profile=profile)
German:
from selenium import webdriverprofile = 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
So I figured out the answer:
def get_webdriver(attempts=3, timeout=60, locale='en-us'): firefox_profile = webdriver.FirefoxProfile() firefox_profile.set_preference("intl.accept_languages", locale) firefox_profile.update_preferences() 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
So, whenever you call this function just be sure to pass the param of locale to whatever language you want.
Eg, for German:
get_webdriver(locale='de')
Enjoy!
I do not know much about Selenium, but from my research it looks like you may be using the wrong language keyword. From this link
https://groups.google.com/forum/#!topic/nightwatchjs/qwtLPIAJa_c
it looks like it should be QASpanish
instead of es-es
. Have you checked to make sure you are using the correct keyword?