Chrome 在谷歌浏览器和边缘运行强制自动翻译,翻译不工作

p1iqtdky  于 2023-03-21  发布在  Go
关注(0)|答案(2)|浏览(150)

我正在尝试运行不同的网页翻译在谷歌浏览器和边缘。

这是我想使用的所有语言到英语的选项。我已经尝试了下面的代码,但它不会强迫任何翻译。

options = Options()
prefs = {
    "translate_whitelists": {"es": "en"},
    "translate_whitelists": {"de": "en"},
    "translate_whitelists": {"ja": "en"},
    "translate_whitelists": {"ar": "en"},
    "translate_whitelists": {"zh": "en"},
    "translate_whitelists": {"hi": "en"},
    "translate": {"enabled": "true"}
}
options.add_experimental_option( "prefs", prefs )
options.add_argument( "--lang=en" )
driver = Chrome( executable_path='/usr/local/bin/chromedriver', chrome_options=options )

我仍然不能让页面翻译工作。翻译小部件出现,但没有翻译任何东西。它能够检测语言以及。
我已经尝试过这些解决方案。
Automatic translation is disabled when using selenium in chrome
Chromedriver: How to translate a page using selenium?
Set Chrome's language using Selenium ChromeDriver

q3qa4bjr

q3qa4bjr1#

我也有同样的问题...但我找到了蛮力的解决方案:

import pyautogui

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options

url = 'https://ifconfig.me/'

options = Options()
options.add_argument('--lang=fr')  # set your language here

browser = webdriver.Chrome(options=options)

browser.get(url)

actionChains = ActionChains(browser)
actionChains.context_click().perform()

# here maybe problem. Debug it:
for i in range(3):
    pyautogui.sleep(1)
    pyautogui.press('up')

pyautogui.press('enter')
t2a7ltrp

t2a7ltrp2#

然而,我对我找到的解决方案并不满意,但这只是一个对我有效的变通办法。
下面给出的是对我有用的Python解决方案。我参考了Selenium的GitHub issue帖子。我在这条评论中找到了解决方案。

options = Options()
 options.add_argument("--lang=en")
 prefs = {
     "translate_whitelists": {"de": "en"},
     "translate":{"enabled": "true"}
 }
 options.add_experimental_option("prefs", prefs)
 driver = webdriver.Chrome(executable_path='your_chrome_driver_path',
                           options=options)
 time.sleep(15) # Adding this line worked for me

 driver.get(URL)

奇怪的是,只有当我添加time.sleep(15)时,解才有效。如果我尝试减小time.sleep()的值,它就不起作用了。看起来15 sec是一个阈值。

相关问题