【问题标题】:Google Translate web gives two different translations (chrome browser vs Selenium/chromedriver)Google Translate web 提供了两种不同的翻译(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。”
  1. 使用 Chrome 浏览器:

    • “在书房里,学生们轻声低语,化学物质的嘶嘶声有点响亮。”
  2. 使用硒:

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

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

【问题讨论】:

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

标签: python selenium google-chrome google-translate


【解决方案1】:

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

的值

使用手动 chrome 浏览器:

jsdata="uqLsIf;_;$29"

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

jsdata="uqLsIf;_;$329"


深入研究

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

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

【讨论】:

  • 有趣。您知道不同的 datastore 是否还有其他含义?以及如何确保我连接到同一个数据存储以获得相同的翻译?
  • @Hiram 我如何确保我连接到同一个数据存储区:这需要进一步的研发 :)
猜你喜欢
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
相关资源
最近更新 更多