当前位置: 首页 > 知识库问答 >
问题:

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

郎琪
2023-03-14

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

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

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

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

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

非常感谢您的帮助。

共有3个答案

潘彦
2023-03-14

转到Gmail--

这不是一种建议的方法,因为它允许访问不太安全的应用程序,并且更容易进入您的帐户,但如果它只是一个测试帐户,并且没有重要数据被传输到或从中传输,您可以尝试一下。

薛飞星
2023-03-14

经过几个小时的反复试验,我刚刚尝试了一些对我有用的东西。

向我的配置中添加参数:['--禁用web安全性','--用户数据目录','--允许运行不安全的内容']解决了此问题。

后来我意识到这并没有帮到我,因为我尝试了另一封电子邮件,但没有成功。经过一些观察,我发现了一些其他的东西,这已经被尝试和测试过了。

使用自动化:

转到https://stackoverflow.com/users/login选择使用Google策略登录输入Google用户名和密码登录Stackoverflow转到https://gmail.com(或任何您想访问的Google应用程序)

在坚持这样做了一整天(大约24小时)之后,尝试直接自动登录gmail(或您想访问的任何Google应用程序)...我至少有另外两个人成功地做到了这一点。PS-您可能希望继续使用stackoverflow登录,直到您至少收到验证码请求,因为我们也都经历了那个阶段。

百里涛
2023-03-14

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

临时解决方案:

  • 使用其他设备的不同手机号码创建新的GMail帐户(不推荐)

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

 类似资料:
  • 截至今天,用户无法在新的配置文件中使用selenium登录到Google帐户。我发现,谷歌正在阻止这个过程(拒绝?)甚至尝试stackauth。(在升级到v90后经历过这种情况)。 这是我之前发布的使用OAuth登录Google的答案,直到最近才生效 简而言之,您将通过stackauth直接登录。 我可以绕过限制的唯一方法是禁用Secure-App-Access或添加以下给定参数。(我不喜欢这样,

  • 此代码用于登录gmail 问题 我们有一个Web应用程序正在测试中,用户可以使用google(oAuth2)登录,但是gmail使用用户验证(重置密码或验证码或电话号码)捕获自动化脚本。 问题: 有没有办法避免gmail用户验证? (我不是要解决google验证挑战,在用户手动运行的普通浏览器中,此验证挑战不会被触发(大多数情况下),但在selenium中,有时会发生这种情况,并且我的测试失败。)

  • 我尝试从这个问题设置服务器PHP Ubuntu使用gmail表单发送电子邮件localhost。所以我设置了(帐户)从: /etc/MSMTPC: 现在,当我尝试发送测试电子邮件(以root用户身份执行)时: 给出: 所以日志上写着<代码>

  • 我在ubuntu 16.04服务器上使用docker compose实现firefox和chrome浏览器的selenium网格自动化,并使用PuTTY终端访问。 它是git存储库上的maven项目。对于Jenkins,我有另一个服务器实例(可通过PuTTY访问)。 问题: 1) 我如何构建一个Jenkins作业,它将在每天的特定时间自动运行? 2) 是否有可能提供套件文件(testng.xml)

  • 问题内容: 我正在尝试使用Selenium登录gmail。在新的gmail登录中,首先输入您的电子邮件ID,然后在下一页输入密码。电子邮件页面的URL和密码页面的URL不同。因此,当我在其中传递密码URL时,它将重新加载页面,并且如果您刷新URL而未输入密码,它将重定向到电子邮件页面。因此,它缺少密码字段选择器。仍然是先前的网址,即电子邮件页面的网址。这是我的代码。我正在使用Chrome驱动程序和

  • 我正在用java学习硒。我的使用案例是: < li >浏览www。Google.com < li >搜索“Gmail登录” < li >打开第一个链接 < li >单击登录按钮(这将带我进入登录页面) < li >输入电子邮件,单击下一步,然后输入密码 < li >单击下一步 有两种情况,当我直接浏览gmail登录页面时,它对我有效。我可以登录,但从第一步开始时使用它会抛出 < code >线程“