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 会在自动化测试中自动跳过"连接不是私密连接"的拦截页面,继续执行后续的页面操作逻辑。

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

相关推荐
llilian_1615 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
海的透彻15 小时前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
小白学大数据16 小时前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
周杰伦的稻香18 小时前
tcpdump
网络·测试工具·tcpdump
金玉满堂@bj18 小时前
什么是静态测试?
测试工具
chenjingming66619 小时前
jmeter导入浏览器上按F12抓的数据包
前端·chrome·jmeter
John_ToDebug21 小时前
Chrome 首次启动引导页里触发 Pref 设置,为什么主进程收不到 IPC
c++·chrome
小鹿软件办公21 小时前
谷歌 Chrome 终于推出垂直标签页与更智能的阅读模式
前端·chrome
杜子不疼.1 天前
Python + Selenium + AI 智能爬虫:自动识别反爬与数据提取
人工智能·python·selenium
John_ToDebug1 天前
Chromium 页面类型与 IPC 通信机制深度解析
前端·c++·chrome