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

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

桑坚成
2023-03-14

这是我的准则:

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()

我该怎么办?请帮帮我,我只是一个新手和初学者。谢谢主人

共有3个答案

林龙野
2023-03-14

该Google支持页面声明,由于以下安全原因,通过“使用自动化测试框架”的浏览器登录被禁用,Google建议使用基于浏览器的OAuth 2.0认证服务“使用Google登录”。

由于某些网站(如stackoverflow.com)允许您使用“使用Google登录”登录他们的服务,因此必须通过Google OAuth 2.0身份验证进行。这意味着这样做您也间接登录了您的Google帐户,因此您可以使用所有Google服务。

因此,您可以完全自动地登录到您的Google帐户,例如,通过使用Python脚本,通过在您的代码中执行以下操作:

  1. 打开由selenium webdriver控制的新浏览器窗口。
  2. 在同一窗口中,加载StackOverflow登录页面(或使用“使用谷歌登录”的任何其他网站)。
  3. 选择“使用谷歌登录”
  4. 提供您的Google帐户凭据并登录StackOverflow。
  5. 通过打开来加载Google邮箱https://mail.google.com/或https://www.gmail.com/

这样,您就可以进入Gmail邮箱,而无需执行任何手动操作。

请记住在不同操作之间添加一些5s延迟,因为做得太快或太频繁会被StackOverflow识别为恶意自动操作,您可能会被阻止,您需要手动我不是机器人验证

易俊远
2023-03-14

绕过Google自动化检测的方法是使用undetected_chromedriver库。您可以使用 pip 安装未检测到的铬驱动程序来安装程序包。一旦您的驱动程序对象被启动,您可以简单地使用硒来操作驱动程序。

# initiate the driver with undetetcted_chromedriver
import undetected_chromedriver.v2 as uc
driver = uc.Chrome()

# operate the driver as you would with selenium
driver.get('https://my-url.com') 

# Example use of selenium imports to be used with the driver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By

try:
    driver.find_element(By.XPATH, '//*[@id="my-id"]').click()
except NoSuchElementException:
    print("No Such Element Exception")

注意:Google的登录是一个弹出窗口,所以不要忘记将窗口句柄切换到弹出窗口以登录,然后切换回主窗口。

胡禄
2023-03-14

首先使用pip安装未检测到的chrome驱动程序。这是一个绕过Chrome安全并允许你进一步操作的库。

pip install undetected-chromedriver

然后,不要使用chrome驱动程序创建.exe驱动程序=web驱动程序。铬(r“铬驱动程序.exe”),使用您刚刚安装的库中的铬()功能。

Python中的完整代码示例

import undetected_chromedriver.v2 as uc
from time import sleep

username = 'example@gmail.com'
password ='password'

driver = uc.Chrome()

driver.delete_all_cookies()

driver.get('https://accounts.google.com/ServiceLogin')
sleep(2)

driver.find_element_by_xpath('//input[@type="email"]').send_keys(username)
driver.find_element_by_xpath('//*[@id="identifierNext"]').click()
sleep(2)

driver.find_element_by_xpath('//input[@type="password"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="passwordNext"]').click()
sleep(2)

driver.get('https://gmail.com')
sleep(2)
 类似资料:
  • 我试图通过使用硒从收件箱下载附件来自动化gmail。但是,它向我显示了这个错误“此浏览器或应用程序可能不安全”。我环顾四周,发现OAuth将解决这个问题。但是,我不知道如何使用它,也不知道它是否是正确的工具。有人能帮我解决这个错误吗?OAuth是正确的工具吗?使用任何其他浏览器都会解决这个问题吗? 错误:此浏览器或应用可能不安全。了解更多信息尝试使用不同的浏览器。如果您已经在使用受支持的浏览器,则

  • 我试过用Gmail或任何谷歌服务登录,但它显示以下“此浏览器或应用程序可能不安全”消息: 我还尝试在acc中启用不太安全的应用程序,但没有成功。然后我建立了一个新的谷歌账户,它和我一起工作。但不是和我以前的acc。 我该怎么解决这个问题 如何在正常的chrome浏览器(而不是由自动化软件控制的浏览器)中打开selenium<这是我的代码

  • 我必须使用selenium脚本登录gmail帐户,但我收到了错误消息 正如从其他来源读到的,谷歌不允许使用自动化脚本登录 机器:MacOS编程语言:Java 有人知道怎么解决吗?

  • 问题内容: 我正在尝试使用selenium登录到google,但不断收到错误消息“此浏览器或应用可能不安全”。 我用来登录的功能是: 我尝试使用chrome和firefox网络驱动程序,但均无法正常工作。我也尝试过这样做也没有帮助。 这使我认为登录页面也许可以检测到我在自动化环境中运行。我尝试过这种解决方案,该解决方案使该应用程序[无法在Web驱动程序中运行:网站可以检测到您何时在chromedr

  • 我有一堆谷歌帐号,我需要在那里登录并从开发者控制台获取应用程序ID。在大约30个帐户中,我有3个帐户无法登录,并收到消息“您正试图从不允许我们保护您帐户安全的浏览器或应用程序登录。”输入登录名和密码后。使用手动启动的浏览器,我可以像往常一样登录到这个帐户 所有帐户登录共享相同的步骤: 1。打开登录页面。输入电子邮件。按“下一步”4。输入密码 5。按“下一步” 在此了解更多领先优势并提出可能的原因:

  • 我正试图用selenium登录谷歌,但我一直收到一个错误:“这个浏览器或应用程序可能不安全。” 我用来登录的功能是: 这和https://stackoverflow.com/questions/59433453/unable-to-log-into-google-account-in-selenium-chrome-driver和https://stackoverflow.com/question