如何在Selenium WebDriver(Python)中禁用Chrome的“保存密码”弹窗

12
我希望在我的selenium测试中禁用Chrome中“保存密码”弹出窗口,无论何时它出现。我通过ChromeOptions()找到了一种方法,但找不到必要的参数或偏好来消除弹出窗口。
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("argument")

它不应该影响你的测试,你为什么需要禁用它? - JeffC
你尝试过这个吗? 看一下底部的答案。 - Pan
6个回答

13

为了在Selenium测试中禁用Google Chrome保存密码弹出窗口,您可以使用以下代码块:

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分配吗? - Cerin

5
prefs = {"credentials_enable_service": False,
         "profile.password_manager_enabled": False}
options.add_experimental_option("prefs", prefs)

对我来说没问题


3
以下选项将禁用“保存密码”弹出窗口。但这是使用C#编写的。
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);

您可以在这里找到针对 Python 的相关选项:此处

1
一个快速解决Chrome中弹出保存密码弹窗的方法是,如果这对你来说是可接受的选项,可以使用隐身模式。
chrome_options.add_argument("--incognito")

1

以上答案都不能解决我的问题,这方面有什么变化吗?我在控制台上也没有收到警告信息...

 prefs = {"credentials_enable_service":False,"profile.password_manager_enabled":False,"profile.default_content_setting_values.notifications" : 2}

0

所选答案不正确,因为它重新定义了 prefs 的值,并使用逗号而非冒号来设置各个值。

用户 ItZzMJ 的答案是正确的。在我的情况下,如下所示:

prefs = {"credentials_enable_service": False,
         "profile.password_manager_enabled": False}
options.add_experimental_option("prefs", prefs)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接