使用 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 错误 [重复]