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

尝试使用selenium python脚本登录google

晏永康
2023-03-14

我正在使用selenium打开并登录google帐户,这是我的第一步。我已成功打开并填写了电子邮件回复,但在提交后,我收到了以下错误

“此浏览器或应用程序可能不安全。了解更多尝试使用不同的浏览器。如果您已经在使用受支持的浏览器,您可以刷新屏幕并重试登录。”来自谷歌。

有什么办法可以绕过这个问题吗?下面是我的代码

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

import time

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://accounts.google.com/")
print(driver.title)

search = driver.find_element_by_name("identifier")

search.send_keys("email goes here")

search.send_keys(Keys.RETURN)

共有1个答案

周龙光
2023-03-14

有同样的问题,我在GitHub中发现了这个线程。

对我有效的解决方案是使用这个驱动程序undetected\u chromedriver,而不是普通的chromedriver。

    import undetected_chromedriver.v2 as uc

    chrome_options = uc.ChromeOptions()
    chrome_options.add_argument("--disable-extensions")
    chrome_options.add_argument("--disable-popup-blocking")
    chrome_options.add_argument("--profile-directory=Default")
    chrome_options.add_argument("--disable-plugins-discovery")
    chrome_options.add_argument("--incognito")
    chrome_options.add_argument("user_agent=DN")

    self.browser = uc.Chrome(options=chrome_options)
    self.browser.delete_all_cookies()

    # example of loggin in to youtube without getting that issue
    self.browser.get('http://youtube.com')

    login_button_init = self.browser.find_element_by_xpath("//a[@aria-label='Sign in']") 
    login_button_init.click()

    # locate the login button
    login_button = self.browser.find_element_by_xpath("//paper-button[@aria-label='Sign in']")
    login_button.click()

    # get email and set to email input box
    email = self.browser.find_element_by_id("identifierId")
    myemail = os.environ.get('YOUTUBE_EMAIL')
    email.send_keys(myemail)

    # click next button
    email_next_button = self.browser.find_element_by_id("identifierNext")
    email_next_button.click()

    # get password and set to password input box
    password = self.browser.find_element_by_name("password")
    mypassword = os.environ.get('YOUTUBE_PASSWORD')
    password.send_keys(mypassword)
    sleep(2)

    # click next button to log in
    pass_next_button = self.browser.find_element_by_id("passwordNext")
    pass_next_button.click()
 类似资料:
  • 本文向大家介绍PowerShell脚本开发尝试登录SQL Server,包括了PowerShell脚本开发尝试登录SQL Server的使用技巧和注意事项,需要的朋友参考一下 前三篇文章中创建了PSNet程序集,其中包含了对指定IP进行端口扫描,收发TCP消息包和收发UDP消息包的相关功能,作为这是最基本的对网络情况的最基本检测,后续的文章将会对此程序集进行不断的扩充使其包含更全面的功能。但是光有

  • 本文向大家介绍PowerShell脚本开发之尝试登录ftp,包括了PowerShell脚本开发之尝试登录ftp的使用技巧和注意事项,需要的朋友参考一下 上一篇文章介绍了通过PowerShell批量扫描IP段和端口,在PSNet程序集中添加了Invoke-ScanIPPort函数,这里尽管扫描到了指定IP端中监听的端口,但是未对端口和相应的程序进行对应,正如我们所知一些常用的应用程序使用的默认端口是

  • 问题内容: 我正在尝试设置回合部署脚本。我在使用远程登录时遇到了一些麻烦。在远程服务器上创建数据库时,我们需要使用sql帐户(而不是计算机或域,这是针对Server 2008 R2 SP1上的MSSQL 2008R2)登录。有没有办法为回旋连接和运行脚本提供不同的凭据,因为我在文档中没有看到它?谢谢。 问题答案: 如果指定连接字符串而不是服务器名称和数据库名称,则还可以设置凭据。 来自:https

  • 我有一个基本的Groovy脚本,我希望尽可能简单地创建日志。我希望消息转到标准输出,以及一个日志文件,日志文件中的每个条目都有一个时间戳。 我不能使用@Log符号,因为它是一个脚本,我没有要注入的类。否则我认为这将是理想的。

  • 我使用JMeter加载测试ASP. net应用程序。我能够成功记录登录功能 HTTPRequestDefaults HTTPCookieManager 线程组 记录控制器 登录请求后,我提取了

  • 我正在使用 我能够授权用户,然后我使用这个api给出了一个链接来gign出用户 它也注销了用户,但是当我刷新页面时,它不再要求重新登录。它是直接加载用户帐户,我想让它要求用户再次登录。有人能告诉我怎么做吗?