[解決済み] Seleniumで証明書を扱うには?
質問
私は セレン を使ってブラウザを起動しています。ブラウザが証明書を受け入れるかどうかを尋ねるウェブページ(URL)にはどのように対処すればよいでしょうか。
Firefoxで、このように証明書を受け入れるかどうかを聞いてくるようなWebサイトがあるかもしれません。
Internet Explorerのブラウザでは、このように表示されることがあります。
Google Chromeの場合。
私の質問を繰り返します。 どのように私はSelenium(Pythonプログラミング言語)でブラウザ(Internet Explorer、Firefox、Google Chrome)を起動するときに、ウェブサイトの証明書の受け入れを自動化することができます。 ?
どのように解決するのですか?
Firefoxの場合は
accept_untrusted_certs
FirefoxProfile()
オプションを
True
:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://cacert.org/')
driver.close()
Chromeの場合は
--ignore-certificate-errors
ChromeOptions()
の引数になります。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('ignore-certificate-errors')
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://cacert.org/')
driver.close()
Internet Explorerの場合は
acceptSslCerts
を設定する必要があります。
from selenium import webdriver
capabilities = webdriver.DesiredCapabilities().INTERNETEXPLORER
capabilities['acceptSslCerts'] = True
driver = webdriver.Ie(capabilities=capabilities)
driver.get('https://cacert.org/')
driver.close()
実は
Desired Capabilities
のドキュメントによると
設定
acceptSslCerts
ケーパビリティを
True
は、一般的な読み取り/書き込み能力であるため、すべてのブラウザで動作するはずです。
acceptSslCerts
ブーリアン
セッションがすべてのSSL証明書を受け入れるかどうか をデフォルトで受け入れるかどうか。
Firefox用の動作確認済みデモです。
>>> from selenium import webdriver
設定
acceptSslCerts
から
False
:
>>> capabilities = webdriver.DesiredCapabilities().FIREFOX
>>> capabilities['acceptSslCerts'] = False
>>> driver = webdriver.Firefox(capabilities=capabilities)
>>> driver.get('https://cacert.org/')
>>> print(driver.title)
Untrusted Connection
>>> driver.close()
設定
acceptSslCerts
から
True
:
>>> capabilities = webdriver.DesiredCapabilities().FIREFOX
>>> capabilities['acceptSslCerts'] = True
>>> driver = webdriver.Firefox(capabilities=capabilities)
>>> driver.get('https://cacert.org/')
>>> print(driver.title)
Welcome to CAcert.org
>>> driver.close()
関連
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] chromedriverでSeleniumを使用していることをWebサイトで検出することは可能ですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Python 言語を決定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Pythonの辞書にあるスレッドセーフについて