Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium WebDriver-更改浏览器';linux上的s语言_Java_Google Chrome_Selenium_Selenium Webdriver_Automation - Fatal编程技术网

Java Selenium WebDriver-更改浏览器';linux上的s语言

Java Selenium WebDriver-更改浏览器';linux上的s语言,java,google-chrome,selenium,selenium-webdriver,automation,Java,Google Chrome,Selenium,Selenium Webdriver,Automation,如前所述,在PC上运行时,通过selenium WebDriver以不同语言打开浏览器(google chrome)效果良好。但当在基于linux的系统或mac os上尝试时,它根本不起作用,浏览器会以默认语言打开。我尝试使用不同的语言代码,比如“es_es”或“es es”而不是“es”,但没有任何帮助。这是linux的另一种语言代码,还是操作web驱动程序而不使用“-lang”命令的另一种方式 谢谢。我还没有尝试过,但我认为您可以将chrome本身的设置更改为:- 设置->语言->添加语言

如前所述,在PC上运行时,通过selenium WebDriver以不同语言打开浏览器(google chrome)效果良好。但当在基于linux的系统或mac os上尝试时,它根本不起作用,浏览器会以默认语言打开。我尝试使用不同的语言代码,比如“es_es”或“es es”而不是“es”,但没有任何帮助。这是linux的另一种语言代码,还是操作web驱动程序而不使用“-lang”命令的另一种方式


谢谢。

我还没有尝试过,但我认为您可以将chrome本身的设置更改为:-

设置->语言->添加语言

在那里添加您的语言并尝试一下。如果需要,请删除其他语言

有关IE,请参阅以下链接:-

我也在你们共享的同一个链接上找到了一个代码。你试过了吗

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);
DesiredCapabilities jsCapabilities=DesiredCapabilities.chrome();
ChromeOptions选项=新的ChromeOptions();
Map prefs=新的HashMap();
prefs.put(“国际语言”,语言);
选项。设置实验选项(“prefs”,prefs);
jsCapabilities.setCapability(ChromeOptions.CAPABILITY,选项);
资料来源:-


也许您还需要设置prefs>intl>accept\u语言:en-GB

“所需功能”:{
“浏览器名”:“chrome”,
“色度选项”:{
“args”:[“--lang=en GB”],
“首选项”:{
“国际”:{
“接受_语言”:“en GB”
}
}
}
}

正如您在上所读到的,有一种依赖于系统的方式来设置Chrome的语言。在Linux上,需要一个环境变量

我创建了一个Bash脚本,如下所示:

#!/bin/sh

LANGUAGE="en" "/home/plap/projects/pdf-exporter/chromedriver" $*
然后我使用脚本的路径代替真正的chromedriver可执行文件的路径

此外,由于我需要以编程方式切换语言,所以我编写了代码,以便在需要的每种新语言中以编程方式保存脚本。实际上,该准则要求:

System.setProperty("webdriver.chrome.driver", executableFile.getAbsolutePath());

新ChromeDriver(选项)
一起在同步块中。。。是的,太可怕了

改变设置是有问题的,因为我需要它自动发生-它在远程机器上运行。关于第二段代码,我已经试过了。这没用。浏览器仍然打开英语。是的,我能理解。。你试过第二种密码吗