要解决 Selenium 自动化测试中 Chrome 浏览器弹出“您的连接不是私密连接”NET::ERR_CERT_DATE_INVALID的拦截问题核心思路是让 Chrome 忽略 SSL 证书验证错误。以下是具体步骤和代码实现错误原因分析该错误是由于目标网站的 SSL 证书存在问题如证书过期、自签名未受信任、系统时间与证书有效期不匹配等Chrome 出于安全策略默认拦截此类不安全的连接。在自动化测试场景中我们需要让浏览器跳过这类安全检查继续执行脚本。解决方案配置 Chrome 忽略证书错误通过 Selenium 的 ChromeOptions 添加忽略证书错误的启动参数让 Chrome 主动跳过 SSL 验证。步骤 1导入依赖 配置 ChromeOptions在 Python 代码中引入 selenium 的 webdriver 和 ChromeOptions并创建 ChromeOptions 实例添加忽略证书错误的参数。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(--headlessnew) # 初始化 ChromeDriver 并传入配置选项 driver webdriver.Chrome(optionschrome_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 会在自动化测试中自动跳过“连接不是私密连接”的拦截页面继续执行后续的页面操作逻辑。通过添加该代码之后正常访问网页
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 实例添加忽略证书错误的参数。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(--headlessnew) # 初始化 ChromeDriver 并传入配置选项 driver webdriver.Chrome(optionschrome_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 会在自动化测试中自动跳过“连接不是私密连接”的拦截页面继续执行后续的页面操作逻辑。通过添加该代码之后正常访问网页