问题描述
此错误消息…
This browser or app may not be secure.
Try using a different browser. If you’re already using a supported browser, you can refresh your screen and try again to sign in.
…表示 WebDriver 无法验证 即 会话。
潜在原因和解决方案
导致此错误的原因可能有多种,如下所示:
- @Raphael Schaad在尝试在桌面应用程序上用Google登录时出现“此浏览器或应用程序可能不安全”的错误消息中提到,如果用户可以使用其他Google帐户登录就可以正常使用同一应用程序,则必须解决此问题说谎与特定的帐户。可能的原因是,这是用户使用 的唯一帐户。
- 另一个潜在的原因可能是使用不太安全的应用程序。如果某个应用或网站不符合google-chrome的安全标准,则Google可能会阻止任何尝试登录该帐户的人。安全性较低的应用程序可能会使黑客更容易进入您的帐户,因此阻止这些应用程序的登录有助于确保您的帐户安全。
解
在这些情况下,相应的解决方案是:
- 禁用此Google帐户的 两因素身份验证 ,然后执行 @Test 。
- 允许安全性较低的应用
tl; 博士
几个相关的事件文档:
解决方法
我正在尝试使用selenium登录到google,但不断收到错误消息“此浏览器或应用可能不安全”。
我用来登录的功能是:
async function loginToChrome(driver,username,password) {
await driver.get("https://accounts.google.com/signin");
await driver.sleep(1000);
let email_phone = await driver.findElement(
By.xpath("//input[@id='identifierId']")
);
await email_phone.sendKeys(username);
await driver.findElement(By.id("identifierNext")).click();
await driver.sleep(1000);
let passEl = await driver.findElement(By.xpath("//input[@name='password']"));
await passEl.sendKeys(password);
await driver.findElement(By.id("passwordNext")).click();
await driver.sleep(1000);
}
我尝试使用chrome和firefox网络驱动程序,但均无法正常工作。我也尝试过这样做.excludeSwitches(['enable-
automation'])
也没有帮助。
这使我认为登录页面也许可以检测到我在自动化环境中运行。我尝试过这种解决方案,该解决方案使该应用程序[无法在Web驱动程序中运行:网站可以检测到您何时在chromedriver中使用selenium?
我也调查了User-Agent
看是否是问题所在,但是发现它与我的常规Chrome相同。
所有这些都没有奏效,这使我陷入困境。我已经看到了一些解决方案,这些解决方案说使用正常安装的chrome中已经创建的用户个人资料,但这不适用于我的用例。
有没有人找到解决方案?我一直在寻找时间,空手而归。
编辑:
似乎最近这已经引起了很多关注。我找到了一个解决方案,使我可以继续使用自动化客户端,而不会遇到太多问题。切换到Puppeteer。查看以下软件包:
"puppeteer","puppeteer-extra","puppeteer-extra-plugin-stealth"