使用Selenium ChromeDriver设置Chrome的语言

我下载了ChromeDriver,默认情况下浏览器语言是英文的,我需要将其更改为西class牙语,我一直无法使用。

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") } 

你可以通过添加Chrome的命令行开关 “–lang”来实现。

基本上,您只需要使用ChromeOption参数启动ChromeDriver --lang=es ,有关详细信息,请参阅API。

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

 ChromeOptions options = new ChromeOptions(); options.addArguments("--lang=es"); ChromeDriver driver = new ChromeDriver(options); 

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 } 

对我来说, – 郎没有用。 它似乎设置了第一个打开的选项卡的语言,其他所有chrome进程都以–lang = en-US开头。

做了以下工作:

 DesiredCapabilities jsCapabilities = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); Map prefs = new HashMap<>(); prefs.put("intl.accept_languages", language); options.setExperimentalOption("prefs", prefs); jsCapabilities.setCapability(ChromeOptions.CAPABILITY, options); 

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

 options.addArguments("--lang=en-GB"); 

解决了这一点

对我来说 – --lang--lang 。 我想用特定语言(en-US而不是en-GB)执行Facebook登录测试,我发现一些页面(如Facebook)根据系统环境变量LANG设置界面…所以如果上面的答案没有工作,尝试更改LANG环境变量。 在Linux上测试过。

我正在尝试相同和上面列出的没有任何工作对我来说,最后我尝试了下面的工作:

 ChromeOptions chromeOptions = new ChromeOptions(); Map prefs = new HashMap(); prefs.put("intl.accept_languages", "ja-jp,ja"); chromeOptions.setExperimentalOption("prefs", prefs); WebDriver driver = new ChromeDriver(chromeOptions);