如何使用Python Selenium设置Edge浏览器将英文网页翻译为其他语言
问题原因
基于Chromium内核的Edge浏览器存在两个内置规则,是导致英文源网页翻译配置失效的核心原因:
- 浏览器默认会将自身界面语言对应的语种加入「不翻译列表」,如果Selenium启动的纯净Edge实例默认界面语言为英文,英文内容会被直接跳过翻译流程
translate_whitelists配置的优先级低于内置的不翻译列表,因此英文转其他语种的映射规则无法被触发,非英文的语种互译不受该规则影响
解决方法
在原有配置基础上补充两个参数,覆盖浏览器默认规则即可:
- 清空默认阻止翻译的语种列表
- 强制指定英文为需要触发翻译的源语种
完整可运行代码示例(英文转西班牙语)
options = EdgeOptions() options.use_chromium = True options.add_experimental_option('excludeSwitches', ['enable-logging']) prefs = { # 清空内置的不翻译语种列表,解除英文翻译限制 "translate_blocked_languages": [], "translate": { "enabled": "true", # 明确指定英文为需要始终触发翻译的语种 "always_translate_languages": ["en"] }, # 原有语种映射规则 "translate_whitelists": {"en": "es"} } options.add_experimental_option("prefs", prefs) driver = Edge(executable_path=PATH, options=options)
补充说明
如果首次运行仍然没有自动触发翻译,可以手动点击一次浏览器右上角翻译弹窗的「翻译」按钮,后续启动的实例就会自动应用该规则。
内容的提问来源于stack exchange,提问作者Demaxl
相关产品推荐
相关产品推荐

