#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