2015-09-22 3 views
2

Я пытаюсь изменить язык Selenium Webdriver Firefox с английского на испанский.Изменение языка на Firefox с Selenium Python

У меня есть следующий код на месте:

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 

Однако водитель возвращается по-прежнему на английском языке, а не на испанском языке. Что мне не хватает? Как установить язык на испанский язык?

+0

Как вы знаете, что используется неправильный? Вы пробовали просто 'es'? – SiKing

+0

Пожалуйста, посмотрите ответ, который я разместил ниже. Благодаря! –

ответ

-1

Я мало знаю о Селене, но из моего исследования, похоже, вы используете неправильное ключевое слово языка. Из этой ссылки

https://groups.google.com/forum/#!topic/nightwatchjs/qwtLPIAJa_c

это выглядит, как он должен быть QASpanish вместо es-es. Вы проверили, используете ли вы правильное ключевое слово?

1

Так я понял, ответ:

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 

Таким образом, всякий раз, когда вы вызываете эту функцию только быть уверенным, чтобы передать параметров локали на любой язык, который вы хотите.

Например, для немецкого:

get_webdriver(locale='de') 

Наслаждайтесь!