相关疑难解决方法(0)

由于“此浏览器或应用程序可能不安全”,无法使用 selenium 自动化登录谷歌。

我正在尝试使用 selenium 登录谷歌,但不断收到“此浏览器或应用程序可能不安全”的错误消息。

我用来登录的功能是:

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);
}
Run Code Online (Sandbox Code Playgroud)

这是与/sf/ask/4160341741//sf/ask/4149388281/相同的问题 无法在此浏览器或应用程序中签署您可能不安全的python-selenium-chrome

我试过同时使用 chrome 和 firefox 网络驱动程序,但都不起作用。我也试过这样做.excludeSwitches(['enable-automation'])也没有帮助。

这让我想到,也许登录页面可以检测到我正在自动化环境中运行。我尝试了这个解决方案,该解决方案会隐藏应用程序正在 Web 驱动程序中运行:网站是否可以检测到您何时将 selenium 与 chromedriver 一起使用?

我还调查了这User-Agent是否是问题所在,但我发现它与我的常规 chrome 相同。

所有这些都没有奏效,这让我陷入困境。我已经看到一些解决方案说要使用正常安装的 chrome 中已经创建的用户配置文件,但这不适用于我的用例。

有没有人找到解决这个问题的方法?我一直在寻找几个小时,结果空手而归。

编辑: 这似乎最近引起了很多关注。我找到了一个解决方案,可以让我继续使用自动化客户端而不会出现太多问题。切换到 Puppeteer。看看这些包:

    "puppeteer",
    "puppeteer-extra",
    "puppeteer-extra-plugin-stealth"
Run Code Online (Sandbox Code Playgroud)

编辑 2:我最近看到这引起了很多关注。我找到了我最终用来登录的代码。我用 puppeteer 而不是 selenium …

javascript selenium google-chrome selenium-chromedriver selenium-webdriver

11
推荐指数
2
解决办法
2万
查看次数

尝试使用 GeckoDriver Firefox 通过 Selenium 和 Python 登录 Gmail 帐户时出现“此浏览器或应用程序可能不安全”错误

我想使用 selenium 登录我的 gmail 帐户。我使用 python2.7 。它没有错误,但页面说由于某种原因我无法登录我的帐户。你可以看到下面的截图。截屏

这是我的代码:

import time
import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

EXE_PATH = r'C:\Users\LENOVO\Downloads\geckodriver.exe'
driver = webdriver.Firefox(executable_path=EXE_PATH)

def login():
    mail = 'myMail'
    pw = 'myPassword'
    driver.get('https://gmail.com')
    email = driver.find_element_by_name('identifier')
    email.send_keys(mail)
    driver.find_element_by_id('identifierNext').click()
    time.sleep(10)
    password = driver.find_element_by_name('password')
    password.send_keys(pw)
    driver.find_element_by_id('passwordNext').click()
Run Code Online (Sandbox Code Playgroud)

我该怎么办?请帮助我,我只是一个菜鸟和初学者。谢谢师傅

firefox gmail selenium python-2.7 geckodriver

10
推荐指数
2
解决办法
1万
查看次数