如何使用 selenium python 在 Edge 中将网页语言从英语更改为其他语言?
How to change webpage language from English to others in Edge using selenium python?
我知道如何在 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'},
有用。基本上你可以转换为任何输出语言,但如果输入语言是英语,它就不起作用。请帮忙解释一下
英语有多种风格,因此在从英语翻译过来的情况下,您应该区分英国英语和美国英语,而不是简单地 en
英语。
所以,而不是
"translate_whitelists": {'en':'es'}
试试这个
"translate_whitelists": {'en-GB':'es'}
或这个
"translate_whitelists": {'en-US':'es'}
您可以通过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路径
我知道如何在 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'},
有用。基本上你可以转换为任何输出语言,但如果输入语言是英语,它就不起作用。请帮忙解释一下
英语有多种风格,因此在从英语翻译过来的情况下,您应该区分英国英语和美国英语,而不是简单地 en
英语。
所以,而不是
"translate_whitelists": {'en':'es'}
试试这个
"translate_whitelists": {'en-GB':'es'}
或这个
"translate_whitelists": {'en-US':'es'}
您可以通过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路径