使用Selenium ChromeDriver设置Chrome的语言

elc*_*rua 17 java selenium google-chrome webdriver selenium-webdriver

我下载了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")
}
Run Code Online (Sandbox Code Playgroud)

Yi *_*eng 20

你可以通过添加Chrome的命令行开关 "--lang"来实现.

基本上,所有你需要开始ChromeDriverChromeOption说法--lang=es,见API的详细信息.

以下是如何使用Selenium以西班牙语启动Chrome的C#代码的工作示例.

ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=es");
ChromeDriver driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

Java代码应该几乎相同(未经测试).请记住,此处的语言环境采用语言[-country],其中language是ISO-639的2字母代码.

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
}
Run Code Online (Sandbox Code Playgroud)


小智 9

对我来说, - 郎没有用.它似乎设置了第一个打开的选项卡的语言,其他所有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);
Run Code Online (Sandbox Code Playgroud)


小智 6

我在 Chrome 使用美国日期格式 (mm/dd/yyyy) 而不是 GB dd/mm/yyyy 格式时遇到了问题(即使我在 Chrome 中设置了这些)。使用:

options.addArguments("--lang=en-GB");
Run Code Online (Sandbox Code Playgroud)

解决了这个问题。


小智 5

截至目前(2020 年 1 月 - Chrome 版本 79.0.3945.130)接受的答案中的 C# 不起作用。

我目前能找到的在 C# 中工作的最简单的方法:

ChromeOptions options = new ChromeOptions();
options.AddUserProfilePreference("intl.accept_languages", language);
WebDriver driver = new ChromeDriver(chromeOptions);
Run Code Online (Sandbox Code Playgroud)