如何在 selenium webdriver(python)中禁用 chrome 的“保存密码”弹出窗口
Posted
技术标签:
【中文标题】如何在 selenium webdriver(python)中禁用 chrome 的“保存密码”弹出窗口【英文标题】:How to disable chrome's "save password" popup in selenium webdriver (python) 【发布时间】:2018-03-17 15:11:24 【问题描述】:我想在我的 selenium 测试中禁用 chrome 中的“保存密码”弹出窗口,只要它出现。我通过 ChromeOptions() 找到了一种方法,但找不到使弹出窗口消失所需的参数或首选项。
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("argument")
【问题讨论】:
它应该不会影响你的测试,为什么你需要禁用它? 你试过this?。看看底部的答案。 【参考方案1】:以下选项将禁用“保存密码”弹出窗口。但这是在 C# 中。
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);
可以找到pythonhere的相关选项
【讨论】:
【参考方案2】:要在 Selenium 测试中禁用 Google Chrome
中的 save password
弹出窗口,您可以使用以下代码块:
from selenium import webdriver
chrome_opt = webdriver.ChromeOptions()
prefs = "credentials_enable_service": False,
"profile.password_manager_enabled": False
chrome_opt.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_opt, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get("https://google.com")
【讨论】:
您是否打算覆盖第一个首选项分配?【参考方案3】:prefs = "credentials_enable_service": False,
"profile.password_manager_enabled": False
options.add_experimental_option("prefs", prefs)
为我工作
【讨论】:
【参考方案4】:所选答案不正确,因为它重新定义了 prefs 的值并使用 : 而不是 : 来设置各个值。
用户 ItZzMJ 的回答正确。就我而言,像这样:
prefs = "credentials_enable_service": False,
"profile.password_manager_enabled": False
options.add_experimental_option("prefs", prefs)
【讨论】:
【参考方案5】:以上答案都不适用于我的情况,这方面有什么变化吗? 我也没有在控制台上收到警告...
prefs = "credentials_enable_service":False,"profile.password_manager_enabled":False,"profile.default_content_setting_values.notifications" : 2
【讨论】:
以上是关于如何在 selenium webdriver(python)中禁用 chrome 的“保存密码”弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章
selenium源码通读·13 |webdriver/support分析
selenium之python源码解读-webdriver继承关系
selenium源码通读·7 |webdriver/common/by.py-By类分析
selenium源码通读·11 |webdriver/common/touch_actions.py-TouchActions类分析