Python Selenium 忽略證書錯誤

文章目錄

  • Python Selenium 忽略證書錯誤和忽略
      • 🔧 **一、忽略 SSL 證書錯誤**
        • 1. **基礎配置(適用于 Chrome/Firefox)**
        • 2. **高級場景:指定證書指紋**
        • 3. **瀏覽器兼容方案**
      • 🔇 **二、隱藏 DevTools 監聽提示**
        • 1. **禁用控制臺日志輸出**
        • 2. **移除瀏覽器界面提示**
        • 3. **無頭模式優化**
      • ? **三、完整代碼示例**
      • 💡 **四、注意事項**

Python Selenium 忽略證書錯誤和忽略


selenium with python


之前一篇博客《Python Selenium 搜索和點擊》會出現SSL證書錯誤:

[502260:506160:0626/153236.677:ERROR:net\socket\ssl_client_socket_impl.cc:878] handshake failed; returned -1, SSL error code 1, net_error -103

我們可以通過瀏覽器選項忽略該錯誤。

🔧 一、忽略 SSL 證書錯誤

當訪問使用自簽名證書過期證書的 HTTPS 網站時,可通過以下配置忽略瀏覽器警告:

1. 基礎配置(適用于 Chrome/Firefox)
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionschrome_options = Options()
# 忽略所有證書錯誤
chrome_options.add_argument('--ignore-certificate-errors')
# 忽略 SSL 相關錯誤(如握手失敗)
chrome_options.add_argument('--ignore-ssl-errors')driver = webdriver.Chrome(options=chrome_options)
driver.get("https://example.com")
2. 高級場景:指定證書指紋

若需信任特定證書(如內部 CA),可添加指紋驗證:

chrome_options.add_argument('--ignore-certificate-errors-spki-list=<your_cert_fingerprint>')
chrome_options.add_argument('--ca-certs=path/to/ca.pem')  # 指定證書路徑

獲取指紋命令
openssl x509 -in ca.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl base64

3. 瀏覽器兼容方案
  • Firefox
    options = webdriver.FirefoxOptions()
    options.accept_untrusted_certs = True
    
  • IE
    caps = webdriver.DesiredCapabilities.INTERNETEXPLORER
    caps['acceptSslCerts'] = True
    

🔇 二、隱藏 DevTools 監聽提示

DevTools listening on ws://... 是 Chrome 的調試端口信息,可通過以下方式屏蔽:

1. 禁用控制臺日志輸出
chrome_options.add_argument('--log-level=3')  # 關閉所有非致命日志
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])  # 禁止 Selenium 自身日志
2. 移除瀏覽器界面提示
# 隱藏 "Chrome 正受到自動測試軟件控制" 提示欄
chrome_options.add_argument('--disable-infobars')
# 禁用自動化控制特征(減少被檢測風險)
chrome_options.add_argument('--disable-blink-features=AutomationControlled') 
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
3. 無頭模式優化

若使用無頭模式,需額外關閉沙箱和 GPU:

chrome_options.add_argument('--headless=new')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')

? 三、完整代碼示例

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsdef init_driver():chrome_options = Options()# 忽略證書錯誤chrome_options.add_argument('--ignore-certificate-errors')chrome_options.add_argument('--ignore-ssl-errors')# 隱藏 DevTools 提示chrome_options.add_argument('--log-level=3')chrome_options.add_argument('--disable-infobars')chrome_options.add_argument('--disable-blink-features=AutomationControlled')chrome_options.add_experimental_option('excludeSwitches', ['enable-automation', 'enable-logging'])# 無頭模式配置(可選)chrome_options.add_argument('--headless=new')chrome_options.add_argument('--no-sandbox')chrome_options.add_argument('--disable-gpu')return webdriver.Chrome(options=chrome_options)driver = init_driver()
driver.get("https://example.com")
print("頁面標題:", driver.title)
driver.quit()

💡 四、注意事項

  1. 安全風險
    • 忽略證書錯誤僅限測試環境,生產環境需使用有效證書。
  2. 反檢測策略
    • 部分網站(如 Cloudflare)會檢測自動化特征,可結合 debuggerAddress 復用已有瀏覽器會話。
  3. Selenium 4 兼容性
    • accept_insecure_certs=True 失效,優先使用 add_argument 參數。

通過上述配置,既可解決證書驗證問題,又能保持控制臺輸出簡潔,適用于爬蟲、自動化測試等場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86721.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86721.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86721.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLOv8模型在RDK5開發板上的部署指南:.pt到.bin轉換與優化實踐

以下是針對在RDK5開發板(基于NVIDIA Jetson Orin平臺)部署YOLOv8模型的詳細技術指南,涵蓋從模型轉換、優化到部署的全流程: YOLOv8模型在RDK5開發板上的部署指南:.pt到.bin轉換與優化實踐 ——基于TensorRT的高性能嵌入式部署方案 第一章:技術背景與核心概念 1.1 RDK5開…

內網橫向-工作流

一、信息收集階段 操作 工具 / 命令 說明 系統基礎信息采集 systeminfo、whoami /user 查看系統版本、用戶 SID 等 域內用戶 / 組查詢 net user /domain、net group "domain admins" /domain 列出域用戶及管理員組 域控及網絡結構探測 nltest /dsgetdc、ip…

個人日記本小程序開發方案(使用IntelliJ IDEA)

個人日記本小程序開發方案(使用IntelliJ IDEA) 一、項目創建與環境配置 1. 新建項目 打開IDEA → New Project → JavaFX選擇JDK 11+版本添加必要依賴:<!-- pom.xml --> <dependencies><dependency><groupId

react快速開始項目模板

代碼倉庫 gitee 創建項目 首先保證安裝了node, 然后使用vite創建項目 vite npm create vite react-learn cd react-learn npm i 目錄結構 一個完整的前端項目需要: 狀態管理 在全局維護共有的狀態(數據), 讓頁面組件之間共享數據, 我們使用pinia路由 路由讓頁面之間可以…

scrapy+django+pyecharts+mysql 實現西安游客行為分析系統大屏_用戶畫像_空間分析_路線智能推薦

項目地址 link 此處展示部分結果 思路 描述性統計 可視化大屏 用戶畫像&#xff08;聚類&#xff0c;情感分析&#xff09; 空間分析

AC-DC-AC間接變頻電源設計方案(工頻50Hz→20KHz)

AC-DC-AC間接變頻電源設計方案(工頻50Hz→20KHz) 一、方案分析與選擇 1. 可選電路結構分析 方案1:二極管整流+Boost PFC+全橋逆變 優點: 輸入功率因數高(>0.99)直流電壓穩定可控輸出波形質量好缺點: 電路復雜度較高成本相對較高方案2:晶閘管相控整流+電容濾波+半…

七天學完十大機器學習經典算法-09.梯度提升算法:預測藝術的精進之道

接上一篇《七天學完十大機器學習經典算法-08.K均值聚類&#xff1a;無監督學習的萬能分箱術》 想象你在教一個學生解決復雜數學題&#xff1a;先讓他做基礎題&#xff0c;然后針對錯誤部分強化練習&#xff0c;再針對新錯誤繼續訓練...如此反復精進&#xff0c;直到完美掌握——…

數據庫(MYsql)

一、Mysql概述 數據庫&#xff1a;存儲數據的倉庫 &#xff0c;數據是有組織的進行存儲 數據庫管理系統&#xff1a;操縱和管理數據庫的大型軟件&#xff08;BBMS&#xff09; SQL&#xff1a;定義了一套操作關系型數據庫統一標準&#xff0c;操作關系型數據庫的編程語言 數…

【SpringBoot】Spring Boot + RESTful 技術實戰指南

在當今的軟件開發領域&#xff0c;Spring Boot 與 RESTful API 的結合已成為構建高效、可擴展 Web 應用的標配。本文將通過一個完整的項目示例&#xff0c;從知識鋪墊到部署上線&#xff0c;帶你一步步掌握 Spring Boot RESTful 的開發流程。 一、知識鋪墊 1.1 Spring Boot …

安卓中靜態和動態添加子 View 到容器

1.靜態添加子View 在XML布局文件中直接定義子View&#xff1a; <!-- activity_main.xml --> <LinearLayoutxmlns:android"http://schemas.android.com/apk/res/android"android:id"id/container"android:layout_width"match_parent"a…

【NLP】自然語言項目設計03

目錄 03模型構建 代碼架構核心設計說明 初步構建模型并進行訓練時遇到的一些問題 問題一&#xff1a;模型欠擬合 使用1 model - lstm 解釋使用lstm時無法正常的進行cudnn加速 使用2 model - transformer 項目簡介 訓練一個模型&#xff0c;實現歌詞仿寫生成 任務類型&am…

WebRTC(十二):DTLS

在 WebRTC 中的作用 DTLS&#xff08;Datagram Transport Layer Security&#xff09;是 TLS 的 UDP 版本&#xff0c;在 WebRTC 中用于&#xff1a; 安全協商加密密鑰對等驗證&#xff08;基于 X.509 證書 fingerprint&#xff09;為 SRTP/SRTCP 提供密鑰材料 WebRTC 不直接…

北大肖臻《區塊鏈技術與應用》學習筆記

區塊鏈學習筆記 \huge{區塊鏈學習筆記} 區塊鏈學習筆記 這是關于北京大學肖臻老師的《區塊鏈技術與應用》課程的學習筆記。 BTC的數據結構 hash pointers&#xff1a;既保存結構體的對應地址位置&#xff08;指針&#xff09;&#xff0c;又保存結構體對應映射的hash值&#…

MongoDB 驅動升級性能測試報告

測試背景 將 MongoDB Java 驅動從 4.11.5 升級至 5.5.1&#xff0c;并配合 Reactor Core 3.8.0-M4 進行性能對比測試。測試主要圍繞插入、查詢、更新和刪除四個核心操作進行。 環境配置 操作系統: Windows 11CPU: Intel Core? i7-14700F, 28 核心, 2.10 GHzJDK: OpenJDK 21.…

淘寶商品評論實時采集 API 接入指南:從零開始實戰開發

在電商數據分析領域&#xff0c;商品評論數據蘊含著用戶對產品的真實反饋&#xff0c;對商家優化產品、提升服務質量具有重要價值。本文將詳細介紹如何接入淘寶 API&#xff0c;實現商品評論的實時采集&#xff0c;從環境搭建到代碼實現進行全流程講解。 1. 淘寶api概述 淘寶…

ffpaly播放 g711a音頻命令

ffpaly播放 g711a音頻命令 ffplay 播放 G.711 A-law (8kHz, mono, 16bit) 音頻的命令&#xff1a; ffplay -f alaw -ar 8000 -ac 1 input.g711a 或ffplay -f alaw -ar 8000 -ac 1 audio_chn0.g711a 各參數說明&#xff1a; -f alaw&#xff1a;指定輸入音頻格式為 G.711 A-law…

composer全局配置

composer配置 composer查看全局配置 composer config -l -gcomposer 更新慢 composer下載不下來問題解決 更換composer鏡像源&#xff0c;可以執行嘗試以下幾種&#xff1a; 1、更換成阿里鏡像&#xff1a; composer config -g repo.packagist composer https://mirrors.al…

ivx創建一個測試小案例

文章目錄 前端后端提交信息服務提交信息事件跳轉列表頁事件下載事件詳情頁事件 https://editor.ivx.cn/ 主題選擇一下 前端 在前臺新建一個頁面名為提交頁&#xff0c;內邊距左和內邊距右都設置為40&#xff0c;水平居中和垂直居中設置一下&#xff1b; 新建兩個輸入框&#x…

【MongoDB】MongoDB從零開始詳細教程 核心概念與原理 環境搭建 基礎操作

MongoDB從零開始詳細教程 核心概念與原理 環境搭建 基礎操作 一、核心概念與原理1. 核心組件2. MongoDB vs 關系型數據庫 二、環境搭建&#xff08;Windows/Linux/CentOS&#xff09;1. Windows安裝2. CentOS安裝3. 連接驗證 三、基礎操作&#xff08;CRUD&#xff09;1. 數據庫…

GeoTools 結合 OpenLayers 實現屬性查詢

前言 在GIS開發中&#xff0c;屬性查詢是非常普遍的操作&#xff0c;這是每一個GISer都要掌握的必備技能。實現高效的數據查詢功能可以提升用戶體驗&#xff0c;完成數據的快速可視化表達。 本篇教程在之前一系列文章的基礎上講解如何將使用GeoTools工具結合OpenLayers實現Post…