使用 Selenium ChromeDriver 设置 Chrome 的语言

新手上路,请多包涵

我下载了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")
}

原文由 elcharrua 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

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

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

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

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

Java 代码应该几乎相同(未经测试)。请记住,此处的语言环境采用语言 [-国家/地区] 的形式,其中语言是 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
}

原文由 Yi Zeng 发布,翻译遵循 CC BY-SA 4.0 许可协议

对我来说,–lang 没有用。它似乎设置了第一个打开的选项卡的语言,所有其他 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);

原文由 Cornelius Riemenschneider 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题