Я не могу изменить язык на английский, используя selenium Java

#java #selenium #selenium-webdriver #automation

Вопрос:

Я перепробовал все следующие возможности, но ни одна из них не работает для английского языка. Хотя они работают на других языках, таких как французский, испанский и т.д., Но не на английском( США и ВЕЛИКОБРИТАНИЯ)

  ChromeOptions chromeOptions = new ChromeOptions();
 chromeOptions.addArguments("lang=en-GB");
 driver = new ChromeDriver(chromeOptions);
 driver.get(TestData.baseUrl);
 

Также этот,

  ChromeOptions chromeOptions = new ChromeOptions();
    Map<String, Object> prefs = new HashMap<String, Object>();
    String chrome_locale = "en-usu";
    prefs.put("intl.accept_languages", chrome_locale);
    chromeOptions.setExperimentalOption("prefs", prefs);
 

Комментарии:

1. en-usu должно быть en-us

2. @cruisepandey попробовал это сделать. Не работает.

Ответ №1:

При выполнении приведенного ниже кода убедитесь, что в этой строке langs.put("language symbol here (originally)", "en"); первые аргументы должны быть языком, загружаемым веб-сайтом.

 ChromeOptions option = new ChromeOptions();
option.addArguments("start-maximized");
option.addArguments("test-type");
 
option.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
option.setExperimentalOption("useAutomationExtension", true);


Map<String, Object> prefs = new HashMap<String, Object>();
Map<String, Object> langs = new HashMap<String, Object>();
langs.put("language symbol here (originally)", "en");
prefs.put("translate", "{'enabled' : true}");
prefs.put("translate_whitelists", langs);
option.setExperimentalOption("prefs", prefs);

WebDriver driver = new ChromeDriver(option);

driver.get("Your url");
 

Комментарии:

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

2. Это сработало. Но как я могу сделать его универсальным? Я не знаю, когда я работаю в конвейере, каким будет язык оригинала?

3. @SammarAhmad : Школы W3 задокументировали это лучше, смотрите здесь все коды w3schools.com/tags/ref_language_codes.asp

4. кроме того, чтобы сделать его универсальным, трудно знать язык, потому что разработчики не помещают html[@lang] xpath или мета-атрибут, но в вашем случае проверьте, присутствует ли он, тогда вы можете извлечь эту информацию с помощью Selenium, поэтому вам нужно заглянуть в HTML DOM, чтобы увидеть, есть ли какой-либо атрибут lang