如何通过Excel VBA+ChromeDriver消除Chrome的保存密码与恢复页面弹窗
解决ChromeDriver的“保存密码”与“恢复页面”弹窗问题
一、针对“保存密码”弹窗的修复
之前的配置存在两个核心问题:一是直接传JSON字符串作为Chrome配置可能导致解析异常,二是缺少部分关键的密码管理禁用项。通过以下调整可以彻底关闭密码保存提示:
- 用
ChromeOptions对象替代手动拼接JSON,避免格式错误 - 补充禁用密码管理UI的偏好设置
二、针对“恢复页面”弹窗的修复
Chrome在意外终止后触发的恢复提示,需要通过启动参数直接禁用会话恢复功能,同时阻止浏览器加载之前的崩溃状态。
修正后的完整代码
Sub ChromeDriverTest() Dim bot2 As Selenium.ChromeDriver Dim chromeOptions As New Selenium.ChromeOptions ' 配置Chrome启动参数 With chromeOptions .AddArgument "--start-maximized" .AddArgument "--hide-scrollbars" .AddArgument "--disable-notifications" .AddArgument "--no-sandbox" .AddArgument "--no-first-run" .AddArgument "--no-service-autorun" .AddArgument "--password-store=basic" ' 禁用崩溃恢复弹窗的核心参数 .AddArgument "--disable-session-crashed-bubble" .AddArgument "--disable-restore-session-state" .AddArgument "--no-restore-state-on-startup" ' 关闭自动化提示(可选) .AddExcludedSwitch "enable-automation" ' 指定用户数据目录(确保目录存在,不需要可移除) .AddArgument "user-data-dir=C:\\ChromeTest" End With ' 彻底禁用密码管理相关功能 chromeOptions.SetPreference "credentials_enable_service", False chromeOptions.SetPreference "profile.password_manager_enabled", False chromeOptions.SetPreference "profile.password_manager_show_passwords", False chromeOptions.SetPreference "profile.default_content_setting_values.notifications", 2 Set bot2 = New ChromeDriver ' 应用配置到ChromeDriver bot2.SetCapability "goog:chromeOptions", chromeOptions.ToJSON bot2.Timeouts.ImplicitWait = 2000 ' 启动浏览器(原代码遗漏此步骤,配置不会生效) bot2.Start End Sub
关键改动说明
- 改用
ChromeOptions对象构建配置,避免手动拼接JSON时的格式错误,VBA解析更稳定 - 新增三个恢复弹窗禁用参数,直接关闭Chrome的崩溃恢复机制,彻底消除“Restore Pages”提示
- 补充
profile.password_manager_show_passwords偏好,确保密码保存的UI提示完全关闭 - 补上
bot2.Start语句,原代码未启动浏览器,所有配置无法生效
内容的提问来源于stack exchange,提问作者mattmc419
相关产品推荐
相关产品推荐

