GMail 阻止通过自动化 (Selenium) 登录

Bal*_*der 14 gmail automation google-chrome selenium-webdriver

我正在使用 selenium 在 Web 应用程序中自动执行邮件验证过程。我已经有一个脚本可以登录到 gmail 并阅读帐户上收到的激活邮件。该脚本一直运行到昨天,但今天我遇到了一个问题。

问题截图

问题的附加屏幕截图 问题的附加屏幕截图

如果浏览器使用 selenium 启动,则 Gmail 不允许登录。说,

您使用的是 Google 无法识别的浏览器,或者其设置方式我们不支持。

  • 我尝试将 chromedriver 版本升级到 76.0.0,因为我使用的是 chrome 版本 76.0.3809.100(64 位)。(之前使用的chromedriver 2.45),问题依旧。
  • 已验证即使我使用 Firefox 而不是 Chrome 进行自动化也会出现此问题。
  • 验证浏览器中是否启用了 Javascript
  • Gmail 不要求任何 OTP 或恢复邮件。它只是阻止了我通过自动化登录的尝试。但是我可以手动登录到同一个帐户。

使用的软件:“webdriverio”:“^4.14.1”,“wdio-cucumber-framework”:“^2.2.8”

任何帮助表示赞赏。

Bal*_*der 8

经过一些试验和错误,发现此问题仅在已从同一 App/IP/设备创建多个 Gmail 帐户的情况下发生。如果这些帐户是由自动化框架/扩展程序启动的,Google 会以某种方式标记这些帐户并阻止它们。

临时解决方案:

  • 使用其他设备上的不同手机号码创建一个新的 GMail 帐户(不推荐)。
  • 我们应该使用像nodemailer zeolearn.com/magazine/sending-and-receiving-emails-using-nodejs这样的解决方法 (如 Rahul L 提到的建议)
  • 如果您担心只接收邮件,则自动化临时邮件提供商,例如Guerilla Mail或10 Minute Mail

我的拙见是完全避免自动化第三方邮件应用程序的 UI,因为您无法预测它们的 UI 和元素将如何变化。他们可能会出于安全目的阻止您启动,他们完全有权这样做!