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

由于使用selenium时出现“浏览器不足”错误,无法登录google帐户

柯昆杰
2023-03-14

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

在此了解更多领先优势并提出可能的原因:

Don’t support JavaScript or have Javascript turned off.
Have unsecure or unsupported extensions added.
Use automation testing frameworks.
Are embedded in a different application.

所有这些案例都适用于所有客户,因此我认为其中任何一个都不符合我的问题

我所做的:
1。并排检查了developer.google.com、myaccount.google.com、console.developer.google.com页面的设置。发现有登录问题的帐户启用了“API访问”,但当我禁用它时,它没有帮助
2。找到了启用“不太安全的应用程序”设置的建议,但它也没有帮助
3。试图比较来自硒控制浏览器的请求标头,当我手动登录时——手动打开的浏览器发送“DNT: 1”(不跟踪)标头——现在不确定如何检查它。这可能是问题吗?为什么硒不会发送它,而“常规”浏览器会发送它?
4。此外,我还有未签名的扩展,用于通过具有基本身份验证的代理代理请求,但这对于“好”和“坏”帐户都很常见。谷歌搜索没有多大帮助——没有任何强大解决方案的结果很少。我正在使用Firefox ESR 68,也尝试使用Firefox ESR 60。我必须使用ESR构建来安装代理的未签名扩展。

登录函数如下所示:

def google_login(driver, account):
    driver.get(GOOGLE_UI_LOGIN_URL)
    for letter in account['login']:
        driver.find_element_by_id('identifierId').send_keys(letter)
        time.sleep(0.1)
    driver.find_element_by_id('identifierNext').click()
    time.sleep(1)
    for letter in account['password']:  # tried to emulate user behavior
        driver.find_element_by_css_selector('div#password > div > div> div > input').send_keys(letter)
        time.sleep(0.1)
    time.sleep(1)
    driver.find_element_by_id('passwordNext').click()
    driver.switch_to.default_content()
    try:
        driver.find_elements_by_class_name('ZFr60d.CeoRYc')[0].click()
        print(f'{account["login"]} confirmed phone')
    except (WebDriverException, AttributeError, IndexError):
        pass
    try:
        WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.ID, 'gwt-uid-276')))
    except TimeoutException:
        print(f'{account["login"]} failed to login')

共有3个答案

从劲
2023-03-14

问题可能不是因为代码。这是一个“功能”,以保持您的帐户“安全”。您可以尝试更改用户代理或更改浏览器,看看这是否有帮助。

米楷
2023-03-14

args:['--disable-web-Security','--user-data-dir','--all-runing-insecure-content']添加到我的配置解决了问题。PS-我正在使用量角器进行自动化。

后来我意识到这并没有帮助我,因为我尝试使用不同的电子邮件,但它不起作用。经过一些观察,我发现了其他一些东西,并且已经过尝试和测试。

使用自动化:

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

在连续这样做了一整天(大约24小时)后,试着直接自动登录gmail(或者你想访问的任何谷歌应用程序)...我至少让另外两个人成功地做到了这一点。PS-你可能想继续stackoverflow登录,直到你至少得到一个验证码请求,因为我们都经历了那个阶段。

仲孙钊
2023-03-14

更新:我找到了解决方案

from selenium import webdriver
from time import sleep

class Google:

 def __init__(self,username,password):
  self.driver=webdriver.Chrome('C:/Users/Dragan/AppData/Local/chromedriver_win32/chromedriver.exe')
  self.driver.get("https://stackoverflow.com/users/signup?ssrc=head&returnurl=%2fusers%2fstory%2fcurrent")
  sleep(3)
  self.driver.find_element_by_xpath('//*[@id="openid-buttons"]/button[1]').click()
  self.driver.find_element_by_xpath('//input[@type="email"]').send_keys(username)
  self.driver.find_element_by_xpath('//*[@id="identifierNext"]').click()
  sleep(3)
  self.driver.find_element_by_xpath('//input[@type="password"]').send_keys(password)
  self.driver.find_element_by_xpath('//*[@id="passwordNext"]').click()
  sleep(2)
  self.driver.get('https://youtube.com')
  sleep(5)

passw=open('New Text Document (2).txt',"r",encoding="utf-8")   
password=str(passw.read())
user=open('New Text Document (3).txt',"r",encoding="utf-8")   
username=str(user.read())
mylike= Google(username,password)

如果你想隐藏你的浏览器是selenium,那太难了,相信我。至少你需要从源头上重建chromium。这是谷歌安全系统。对于一些账户,谷歌不允许通过selenium登录。有时是账户问题。我认为你可以尝试更多的旧/新帐户,谷歌让你登录。若你们想使用不同的账户,唯一的办法是建立自己的“固定”铬,并通过硒控制它。如果你尝试从1个ip地址登录更多(根据我的经验,每天大约有500次登录)并使用selenium,那么所有这些都可以被谷歌禁止。从selenium浏览器和1个ip多次登录看起来像是恶意活动。谷歌的规定直接禁止拥有多个账户。为了绕过这些限制,您可以使用不同的技巧。例如,您可能需要使用各种用户代理、代理和浏览器ID。无法关闭此保护,但如果您不需要更多帐户,则可以避免此保护。我再次警告你,从一个浏览器和ip登录可能会导致禁止你的所有帐户。要使用代理,您可以使用我的mozilla代码:

def setprefs(profile, proxy="", port=""):
    if proxy != "":
        profile.set_preference("network.proxy.type", 1)
        profile.set_preference("network.proxy.socks", proxy)
        profile.set_preference("network.proxy.socks_port", int(port))
        profile.set_preference("network.proxy.socks_version", 5)

    profile.set_preference("dom.maxHardwareConcurrency", randrange(1, 8) * 2)


    oscpu = ["","","","","","","Win64; x64","WOW64"]

    platform = ["","","","win32","win32","win32","win32","win32","win32","win32","i686 on x86_64","Intel Mac OS X 10.11","PPC Mac OS X", "Windows NT", "Windows NT 5.1",
              "Windows NT 6.1", "Windows NT 6.1","Windows NT 6.1","Windows NT 6.2","Windows NT 6.2","Windows NT 6.2",
              "Windows NT 6.3","Windows NT 6.3","Windows NT 6.3","Windows NT 10.0","Windows NT 10.0",
              "Macintosh; Intel Mac OS X 10.12","Macintosh; Intel Mac OS X 10.12","Macintosh; Intel Mac OS X 10.12",
              "Macintosh; Intel Mac OS X 10.12","Macintosh; Intel Mac OS X 10.12","Macintosh; Intel Mac OS X 10.11",
              "Macintosh; Intel Mac OS X 10.10","Macintosh; Intel Mac OS X 10.10","Macintosh; Intel Mac OS X 10.9","Macintosh; Intel Mac OS X 10.8","X11; Linux","X11; Ubuntu; Linux","WOW64","Win64; x64",""]
    profile.set_preference("general.oscpu.override", random.choice(oscpu))
    profile.set_preference("general.platform.override", str(random.choice(platform)))

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

  • 这是我的准则: 我该怎么办?请帮帮我,我只是一个新手和初学者。谢谢主人

  • 问题内容: 我正在Windows 7上运行Selenium Standalone Server 2.25,并将Internet Explorer 9作为浏览器,对于需要打开浏览器的每个测试,都会遇到此错误: 我究竟做错了什么?完全相同的信息出现在Selenium Server控制台上。 问题答案: 为Internet Explorer中的所有区域启用“保护模式”设置后,错误消失(工具> Inter

  • 我一直在尝试使用selenium登录我的谷歌帐户,但一旦我通过电子邮件并点击回车,它会重定向到以下消息 “此浏览器或应用可能不安全。了解更多信息请尝试使用其他浏览器。如果您已经在使用受支持的浏览器,您可以刷新屏幕,然后再次尝试登录。” 以下是我的python代码: 请注意,我是python和selenium的新手。我非常感谢你的帮助。提前谢谢 我已经尝试使用硒谷歌登录块中描述的方法,但它仍然给了我

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

  • 我刚刚安装了OpenAM 13.0.0,创建了一个托管IDP,并注册了一个远程SP。在远程SP(一个名为Questetra的产品)中,我使用在http://IDP:8080/openam/SAML 2/JSP/export metadata . JSP?entity id = http://IDP:8080/openam 问题:OpenAM在浏览器加载的步骤中显示。 知道发生了什么吗 有关于如何调