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

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

相关推荐
weixin_440730509 小时前
selenium实战记录-从登陆-首页-进入应用页面测试用例
selenium·测试工具·测试用例
测试老哥15 小时前
Postman获取token并设置token依赖步骤
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
我的xiaodoujiao16 小时前
Django 基础知识详细图文教程 4-Django 视图定义与使用
开发语言·数据库·后端·测试工具·django·sqlite
JZMSYYQ2 天前
电输运性质测试系统主要测试哪些方面
测试工具·材料测试·电性能·电性能测试·电输运测试·测试设备
中国软件测试质量协会2 天前
国产UI自动化测试工具的“技术代际“演进与自主可控之路
测试工具·ui·自动化
zzzzzzzz'2 天前
浅谈自动化测试2——selenium库中的常用函数
selenium·测试工具·文件上传·导航栏·弹窗·定位元素·查找元素
名字还没想好☜3 天前
kubectl 排障实战:jsonpath 精准取值、custom-columns、events 排序与 top 速查
运维·前端·chrome·docker·kubernetes
蒲公英内测分发3 天前
AI 玩具 App 每周更新,怎么用 CI/CD 自动上传测试包又避免误发?
人工智能·测试工具·智能硬件·web app
一条破秋裤3 天前
C-数据类型
c语言·开发语言·chrome
程序员小远3 天前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试