问题
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?
回答1:
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!
回答2:
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
回答3:
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?
来源:https://stackoverflow.com/questions/32728302/change-language-on-firefox-with-selenium-python