c08*_*089 7 google-chrome webdriver selenium-chromedriver
我正在尝试让我的远程chrome驱动程序以德语而不是英语请求页面.根据chromedriver文档和chrome首选项列表,我尝试将其设置为:
capabilities.setCapability(ChromeOptions.CAPABILITY, getChromeOptions());
Map<String, String> chromePrefs = new HashMap<String,String>();
chromePrefs.put("settings.language.preferred_languages", "de-DE,de");
capabilities.setCapability("chrome.prefs", chromePrefs);
Run Code Online (Sandbox Code Playgroud)
我可以从日志文件中看到它到达chromedriver:
[0.453][FINE]: Initializing session with capabilities {
"browserName": "chrome",
"chrome.prefs": {
"settings.language.preferred_languages": "de-DE,de"
},
"chromeOptions": {
"args": [ "--ignore-certificate-errors" ],
"extensions": [ ]
},
"platform": "ANY",
"version": null
}
Run Code Online (Sandbox Code Playgroud)
但它仍然要求英文页面,这也可以通过打开首选项中的内容设置来看到.我究竟做错了什么?
(编辑)长话短说:
intl.accept_languages 是操作页面请求语言的首选项键。使用(较新的和首选的)ChromeOptions机制设置首选项的功能(否则,如果您或您的语言绑定设置了任何 ChromeOptions,它将不起作用,请参阅问题104和95)。
ChromeOptions 对设置首选项的支持尚未完全实现。因此,不幸的是,您必须使用从我的评论 6 到第 95 期的肮脏解决方法
另一种方法可能是使用所需的语言设置创建用户配置文件,并使用 ChromeOption 设置(命令行)选项以使用此配置文件,如chromedriver 功能 wiki 页面所述。
| 归档时间: |
|
| 查看次数: |
7609 次 |
| 最近记录: |