使用 selenium python 时出现“此浏览器或应用程序可能不安全”错误

Posted

技术标签:

【中文标题】使用 selenium python 时出现“此浏览器或应用程序可能不安全”错误【英文标题】:"This browser or app may not be secure" error when using selenium python 【发布时间】:2021-02-22 02:06:49 【问题描述】:

我正在尝试通过使用 selenium 从我的收件箱下载附件来自动化 gmail。但是,它向我显示此错误“此浏览器或应用程序可能不安全”。我环顾四周,发现 OAuth 可以解决这个问题。但是,我不知道如何使用它,或者它是否是正确的工具。谁能帮我解决这个错误。 Oauth 是正确的工具吗?使用其他浏览器能解决问题吗?

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "/opt/google/chrome/google-chrome"    
options.add_argument("--start-maximized") 
options.add_argument("--no-sandbox") #bypass OS security model
options.add_argument("--disable-dev-shm-usage") 

options.add_experimental_option("excludeSwitches["enableautomation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, 
executable_path=r'./chromedriver')
driver.get('http://gmail.com/')

错误: 此浏览器或应用程序可能不安全。了解更多 尝试使用其他浏览器。如果您已经在使用受支持的浏览器,则可以刷新屏幕并再次尝试登录。

【问题讨论】:

你用的是什么浏览器? 我正在使用 Chrome 用您的代码更新您的问题,以便我们查明问题所在 同时发布完整的错误回溯 IDE 没有显示任何错误。但是,chrome 浏览器可以。 【参考方案1】:

遇到了同样的问题,我在 GitHub 中找到了 this 线程。

对我有用的解决方案是使用这个驱动程序:undetected_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()

【讨论】:

以上是关于使用 selenium python 时出现“此浏览器或应用程序可能不安全”错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 selenium python 时出现“此浏览器或应用程序可能不安全”错误

在 python 中安装 selenium 包时出现环境错误

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

ElementNotVisibleException:消息:尝试通过 Selenium 和 Python 单击按钮时出现元素不可交互错误

尝试单击带有 selenium 和 Python 的超链接时出现 NoSuchElementException 错误 [重复]

早上在linux下用selenium启动Chrome时出现问题: