0

我知道如何在 selenium 中更改语言。你会说:

options = EdgeOptions()
options.use_chromium = True
options.add_experimental_option('excludeSwitches', ['enable-logging'])
prefs = {
        "translate_whitelists": {'fr':'en'},
        "translate":{"enabled":"true"}}
options.add_experimental_option("prefs", prefs)
driver = Edge(executable_path=PATH, options=options)

这适用于所有类型的语言,但是当我尝试从英语更改为另一种语言时,它不起作用。例如:

prefs = {
        "translate_whitelists": {'en':'es'},
        "translate":{"enabled":"true"}}
options.add_experimental_option("prefs", prefs)

但如果我说它"translate_whitelists": {'es':'fr'}, 有效。基本上您可以转换为任何输出语言,但如果输入语言是英语,它就不起作用。请帮忙解释一下

4

2 回答 2

0

英语有多种风格,因此en在从英语翻译的情况下,您应该区分英国英语和美国英语,而不是简单的英语。
所以,而不是

"translate_whitelists": {'en':'es'}

试试这个

"translate_whitelists": {'en-GB':'es'}

或这个

"translate_whitelists": {'en-US':'es'}
于 2021-09-16T17:52:35.157 回答
0

您可以通过add_argument(). 我用您提供的代码对其进行了测试,效果很好。

这是一个简单的例子:

from msedge.selenium_tools import Edge, EdgeOptions

options = EdgeOptions()
options.use_chromium = True
options.add_argument("--lang=fr");
options.add_experimental_option('excludeSwitches', ['enable-logging'])
prefs = {
        "translate_whitelists": {'en':'fr'},
       "translate":{"enabled":"true"}}
options.add_experimental_option("prefs", prefs)

driver = Edge(executable_path=r"C:\Users\Administrator\Desktop\msedgedriver.exe", options=options)
driver.get("https://docs.microsoft.com/en-us/deployedge/configure-microsoft-edge")

注意:根据你的情况修改EdgeDriver路径

于 2021-09-17T08:59:45.823 回答