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(免费)?