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")
}
これを行うには、Chromeの コマンドラインスイッチ "--lang"を追加します。
基本的に、必要なのはChromeDriver
を ChromeOption 引数で開始することです--lang=es
、詳細はAPIを参照してください。
以下は、Seleniumを使用してスペイン語でChromeを開始する方法のC#コードの実際の例です。
ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=es");
ChromeDriver driver = new ChromeDriver(options);
Javaコードはほとんど同じです(テストされていません)。ここでのロケールは、language [-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
}
私にとって、-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);
Chrome GB dd/mm/yyyy形式ではなくUS日付形式(mm/dd/yyyy)を使用している場合に問題がありました(Chromeで設定した場合でも)。
options.addArguments("--lang=en-GB");
これを解決しました。
私のために --lang
も機能しませんでした。特定の言語(en-GBではなくen-US)でFacebookログインテストを実行したかったのですが、一部のページ(Facebookなど)がシステム環境変数LANG
...に従ってインターフェイスを設定していることがわかりました。上記の回答が機能しない場合は、LANG
環境変数を変更してみてください。 Linuxでテスト済み。
私は同じことを試していましたが、上に挙げたものは何もうまくいきませんでした。ついに私は以下を試しましたがうまくいきました:
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);
RubyでSeleniumを使用している場合:
私はそれをこのように機能させました:
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