SeleniumでIEのSSL証明書エラーを回避する

とあるフォームの入力テストが数十項目。各ブラウザで。こんなもん手動じゃやっていられない、ということでSeleniumを使いテストを自動化した。

・・・したんだけど、IEがSSLエラーで止まる。

SSL証明書エラー

このページもHTMLなんだから、リンククリックさせればいけるんじゃね?…と思ったけど甘かった。この画面ではfind_element_xxx系は全く動かないし、execute_script()でjavascriptを動かそうとしてもダメ。困った。

調べたら、同じことで悩んでいる人いるじゃないですか。

java – how to over come ssl certifcate error for selenium web driver in Internet Explorer – Stack Overflow

// check if your driver is IEDriver and driver’s Title contains “Certificate”
// then
driver.navigate().to(“javascript:document.getElementById(‘overridelink’).click()”);
driver.findElement(By.name(“username”)).sendKeys(“Admin1”);
driver.findElement(By.name(“password”)).sendKeys(“Password2”);

ああなるほど、ロケーションバーからjsを無理矢理実行しているのか。やってみよう。

と思ったら動かない。あれれ?

どうやらPython版のWebdriverには navigate() がないらしい。えー?で、色々試したら get() で実行できた。なんだ。

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import time
from selenium import webdriver

ie = True
driver = webdriver.Firefox()
driver.get('https://hoge.fuga.com/') # SSLエラーが出るページへ移動

if ie:
    driver.get('javascript:if(document.title.match(/certificate/i)){ document.getElementById("overridelink").click() }')
    time.sleep(1)

IEのSSLエラーを無視したい方はお試しあれ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください