Selenium 自动化测试中 Chrome 浏览器弹出“您的连接不是私密连接”

要解决 Selenium 自动化测试中 Chrome 浏览器弹出"您的连接不是私密连接"(NET::ERR_CERT_DATE_INVALID)的拦截问题,核心思路是让 Chrome 忽略 SSL 证书验证错误。以下是具体步骤和代码实现:

错误原因分析

该错误是由于目标网站的 SSL 证书存在问题(如证书过期、自签名未受信任、系统时间与证书有效期不匹配等),Chrome 出于安全策略默认拦截此类不安全的连接。在自动化测试场景中,我们需要让浏览器跳过这类安全检查,继续执行脚本。

解决方案:配置 Chrome 忽略证书错误

通过 Selenium 的 ChromeOptions 添加忽略证书错误的启动参数,让 Chrome 主动跳过 SSL 验证。

步骤 1:导入依赖 & 配置 ChromeOptions

在 Python 代码中,引入 selenium 的 webdriver 和 ChromeOptions,并创建 ChromeOptions 实例,添加忽略证书错误的参数。

python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 初始化 Chrome 配置选项
chrome_options = Options()

# 关键:添加忽略证书错误的参数
chrome_options.add_argument("--ignore-certificate-errors")  
# (可选)允许加载不安全内容(若网站因证书问题同时拦截静态资源,可补充此参数)
chrome_options.add_argument("--allow-running-insecure-content")  

# (可选)无头模式(Headless):若需后台运行浏览器,取消下面一行的注释
# chrome_options.add_argument("--headless=new")  

# 初始化 ChromeDriver 并传入配置选项
driver = webdriver.Chrome(options=chrome_options)  

# 访问目标网址(替换为你要测试的 URL)
driver.get("https://test.com.cn")  

步骤 2:验证与扩展(按需调整)

• 证书有效期/信任问题:若目标网站的证书是自签名或已过期,仅靠代码参数可能不够稳定(部分环境下 Chrome 仍会拦截)。此时需手动将证书导入系统信任库(如 Windows 证书管理器、Linux 的 ca-certificates 等),但自动化脚本中较难实现,优先推荐代码参数跳过。

• HSTS 强制拦截:若网站启用了 HTTP 严格传输安全(HSTS),即使忽略证书错误也可能无法访问。需手动清除浏览器 HSTS 缓存(地址栏输入 chrome://net-internals/#hsts 操作),但自动化场景下较难复现,建议优先确保测试环境证书合法。

• 环境兼容性:确保 ChromeDriver 版本与本地安装的 Chrome 浏览器版本严格匹配(可在 https://sites.google.com/chromium.org/driver/ 查询对应版本),否则可能触发其他启动错误。

原理说明

• --ignore-certificate-errors:强制 Chrome 跳过所有 SSL/TLS 证书验证(包括过期、自签名、域名不匹配等),直接建立连接。

• --allow-running-insecure-content:允许页面加载 HTTP 协议的资源(若页面主协议是 HTTPS,但引用了 HTTP 的脚本/图片,Chrome 会因"混合内容"拦截,此参数可绕过)。

通过上述配置,Chrome 会在自动化测试中自动跳过"连接不是私密连接"的拦截页面,继续执行后续的页面操作逻辑。

通过添加该代码之后正常访问网页

相关推荐
Frag0ut1 天前
Chrome最新版不再支持Win7?解决方案与原因解析
chrome·谷歌浏览器·windows7·supermium·firefox esr·chrome 109
前程6191 天前
我用 Chrome 插件把小红书的灵感收集做成了有字段的工作流
chrome
国服第二切图仔1 天前
Chrome 插件开发实战指南:从入门到发布
前端·chrome
csdn_zhangchunfeng1 天前
linux 如何安装rst2man命令
开发语言·chrome·python
Frag0ut2 天前
Chrome 2026 AI 能力全解析:从 Auto Browse 到 Skills,浏览器正在变成智能代理
chrome·ai·谷歌浏览器·gemini·智能代理·skills·auto browse
Meta Luo2 天前
UI 自动化测试中的等待、超时和异步加载怎么处理
功能测试·测试工具·ui·回归·自动化
Data_Journal2 天前
如何使用 Selenium 和 Node.js 绕过 CAPTCHA
selenium
yeflx2 天前
Ubuntu22.04下通过Wireshark抓取相机IP
tcp/ip·测试工具·wireshark
总线通信小百科2 天前
100BASE-T1媒体转换器选型:接口、主从模式与供电怎么判断?
经验分享·测试工具
郝学胜-神的一滴2 天前
Python浏览器自动化:Selenium与Playwright实战对比,网页爬虫&自动操作一站式指南
开发语言·爬虫·python·selenium·程序人生·自动化