Google Translate web 提供了两种不同的翻译(chrome browser vs Selenium/chromedriver)

Posted

技术标签:

【中文标题】Google Translate web 提供了两种不同的翻译(chrome browser vs Selenium/chromedriver)【英文标题】:Google Translate web gives two different translations (chrome browser vs Selenium/chromedriver) 【发布时间】:2022-01-21 15:02:33 【问题描述】:

我遇到了与this question 类似的问题,但是是德语。当我在我的电脑上使用 Chrome 浏览器时,我得到了一个翻译(来自https://translate.google.com),但使用 Selenium(在无头模式下)我得到了不同的翻译。

例如,以下文本给出了两种不同的结果:

“Im Studienzimmer herrscht ein leises Murmeln der Studenten und ein etwas lauteres zischen der Chemikalien。”

    使用 Chrome 浏览器:

    “在书房里,学生们轻声低语,化学物质的嘶嘶声有点响亮。”

    使用硒:

    “自习室里有学生安静的弹珠声和略大的化学物质嘶嘶声。”

为什么德语的“Murmeln”在使用 Chrome 浏览器时被翻译为“murmur”,而在使用 Selenium 访问同一页面时却被翻译为“marbles”?

【问题讨论】:

我怀疑与源语言有关。在这两种情况下,一旦您粘贴要翻译的字符串,请检查它检测到的源语言。 (关闭无头模式并检查)。 在这两种情况下,我实际上都在使用translate.google.com/?sl=de&tl=en,所以它应该使用德语作为源语言。 【参考方案1】:

观察 html DOM,我能看到的唯一区别是 jsdata

的值

使用手动 chrome 浏览器:

jsdata="uqLsIf;_;$29"

虽然Selenium 驱动ChromeDriver 启动google-chrome 浏览上下文

jsdata="uqLsIf;_;$329"


深入研究

适配器允许JSData 连接到各种数据存储,例如 Firebase、mysql、RethinkDB、MongoDB、localStorage、Redis、REST API 等。

通过手动 Chrome 会话,您以已知用户身份登录并使用 ChromeDriver,这是一个全新的配置文件。因此,您可以连接到不同的 datastore 并观察不同的结果。

【讨论】:

有趣。您知道不同的 datastore 是否还有其他含义?以及如何确保我连接到同一个数据存储以获得相同的翻译? @Hiram 我如何确保我连接到同一个数据存储区:这需要进一步的研发 :)

以上是关于Google Translate web 提供了两种不同的翻译(chrome browser vs Selenium/chromedriver)的主要内容,如果未能解决你的问题,请参考以下文章

Google Translate API(付费)与 Google Translate API(免费)?

Python Google Translate API

python google_api_translate.py

用google translate大文件

从 Google Translate API 获取多种变体

使用 Google Translate API 翻译 PDF 文件