主に開発環境などに対してSeleniumでChromeの動作を確認したい時に、テキトウに作った不正なSSLサーバー証明書を使用していると「この接続ではプライバシーが保護されません」というChromeのエラーが出て止まってしまうことがある。
これを無視する方法を記す。
解決方法
ChromeOptionsの「acceptInsecureCerts」を有効にする
これにより、不正なSSLサーバー証明書を利用していてもアクセスを許可するようになる。
参考:
https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/chrome/ChromeOptions.html
前提条件
・Windows 10
・Python 3.7.4
・pytest
・Selenium
・ChromeDriver (C:\selenium\chromedriver.exe)
実装例
test_webdriver.py
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
class TestWebdriver():
def setup_method(self, method):
capabilities = DesiredCapabilities.CHROME.copy()
capabilities['acceptInsecureCerts'] = True
self.driver = webdriver.Chrome(desired_capabilities=capabilities, executable_path=r'C:\selenium\chromedriver.exe')
self.vars = {}
def teardown_method(self, method):
self.driver.quit()
def test_webdriver(self):
self.driver.get("https://127.0.0.1/")