我下载了ChromeDriver,默认情况下浏览器语言是英文的,我需要将其更改为西班牙语,而我却无法使用。
public WebDriver getDriver(String locale){
System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");
return new ChromeDriver();
}
public void initializeSelenium() throws Exception{
driver = getDriver("en-us")
}
答案 0 :(得分:16)
您可以通过添加Chrome的command line switches“ - lang”。
来实现基本上,您只需使用ChromeOption参数ChromeDriver
启动--lang=es
,有关详细信息,请参阅API。
以下是使用Selenium以西班牙语启动Chrome的C#代码的工作示例。
ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=es");
ChromeDriver driver = new ChromeDriver(options);
Java代码应该几乎相同(未经测试)。请记住,此处的语言环境采用语言[-country],其中language是ISO-639的双字母代码。
public WebDriver getDriver(String locale){
System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=" + locale);
return new ChromeDriver(options);
}
public void initializeSelenium() throws Exception{
driver = getDriver("es"); // two letters to represent the locale, or two letters + country
}
答案 1 :(得分:8)
对我来说, - 郎没有用。它似乎设置了第一个打开的选项卡的语言,其他所有chrome进程都以--lang = en-US开头。
以下是有效的工作:
DesiredCapabilities jsCapabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<>();
prefs.put("intl.accept_languages", language);
options.setExperimentalOption("prefs", prefs);
jsCapabilities.setCapability(ChromeOptions.CAPABILITY, options);
答案 2 :(得分:3)
我使用美国日期格式(mm / dd / yyyy)而不是GB dd / mm / yyyy格式(虽然我在Chrome中设置了这些格式)时出现问题。使用:
options.addArguments("--lang=en-GB");
解决了这个问题。
答案 3 :(得分:1)
对我来说--lang
也没有用。我想用特定语言(en-US而不是en-GB)执行Facebook登录测试,我发现有些页面(如Facebook)根据系统环境变量LANG
设置界面...所以如果超过答案不起作用,尝试更改LANG
环境变量。在Linux上测试过。
答案 4 :(得分:1)
我遇到了同样的问题。我试图解决这个问题,包括
chromeOptions = Options()
chromeOptions.add_argument('--lang=es')
但它没有用(我发现这没有必要)。
它在我更改语言环境时起作用:
locale -a
sudo apt-get install language-pack-es
sudo dpkg-reconfigure locales
西班牙语是 es_ES.UTF-8 UTF-8。最后,您必须启动一个新的 shell 才能获得新的 env 变量(LANG=C.UTF-8 到 es_ES.UTF-8)
答案 5 :(得分:0)
我正在尝试上面列出的相同内容没有任何对我有用,最后我尝试了下面的工作:
ChromeOptions chromeOptions = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("intl.accept_languages", "ja-jp,ja");
chromeOptions.setExperimentalOption("prefs", prefs);
WebDriver driver = new ChromeDriver(chromeOptions);
答案 6 :(得分:0)
对于将硒与红宝石一起使用的人:
我是这样工作的:
prefs_hash = {
'credentials_enable_service' => false,
'profile' => {
'password_manager_enabled' => false,
},
'intl.accept_languages' => 'fr-FR', // <- here
}
// [...]
browser = Watir::Browser.new :chrome, :prefs => prefs_hash, switches: switches, desired_capabilities: caps