Selenium を使用して、接続が「信頼されていない」証明書を使用するたびに Firefox が警告を発しないようにする方法を見つけようとしています。最も効果的な解決策は、ブラウザーの設定の 1 つを設定することだと思います。
16 に答える
上記の答えはどれもうまくいきませんでした。私が使用している: https://github.com/mozilla/geckodriver/releases/download/v0.12.0/geckodriver-v0.12.0-win64.zip
Firefox 50.1.0
パイソン 3.5.2
セレン 3.0.2
ウィンドウズ10
予想以上に簡単なカスタム FF プロファイルを使用するだけで解決しました。カスタムプロファイルの作成方法に関するこの情報https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles#w_starting-the-profile-managerを使用して、私はやった1) 新しいプロファイルを作成する 2) 手動で FF のサイトにアクセスして、信頼されていない証明書エラーを発生させる 3) サイト例外を追加する (エラーが発生した場合は、[詳細設定] をクリックしてから例外を追加する) 4) によって例外が機能することを確認するサイトをリロードします (エラーは発生しなくなります 5) 新しく作成したプロファイルをプロジェクトにコピーします (私にとっては、これはセレン テスト プロジェクトです) 6) コードで新しいプロファイル パスを参照します
次の行のいずれも問題を解決していませんでした。
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['handleAlerts'] = True
firefox_capabilities['acceptSslCerts'] = True
firefox_capabilities['acceptInsecureCerts'] = True
profile = webdriver.FirefoxProfile()
profile.set_preference('network.http.use-cache', False)
profile.accept_untrusted_certs = True
ただし、上記のカスタム プロファイルを使用することはできました。これが私のコードです:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
#In the next line I'm using a specific FireFox profile because
# I wanted to get around the sec_error_unknown_issuer problems with the new Firefox and Marionette driver
# I create a FireFox profile where I had already made an exception for the site I'm testing
# see https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles#w_starting-the-profile-manager
ffProfilePath = 'D:\Work\PyTestFramework\FirefoxSeleniumProfile'
profile = webdriver.FirefoxProfile(profile_directory=ffProfilePath)
geckoPath = 'D:\Work\PyTestFramework\geckodriver.exe'
browser = webdriver.Firefox(firefox_profile=profile, capabilities=firefox_capabilities, executable_path=geckoPath)
browser.get('http://stackoverflow.com')
WebDriverの「信頼できない接続」に対処するためのカスタム プロファイルは不要
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
driver = new FirefoxDriver(capabilities);
C#: オプションに独自の属性が追加されたため、何かが変更されました。
var ffOptions = new FirefoxOptions();
ffOptions.AcceptInsecureCertificates = true;
Driver = new FirefoxDriver(ffOptions);
お役に立てれば。
私の場合、これでうまくいきました
FirefoxOptions options = new FirefoxOptions();
options.addCapabilities(new ImmutableCapabilities(ImmutableMap.of(
CapabilityType.ACCEPT_SSL_CERTS, true,
CapabilityType.ACCEPT_INSECURE_CERTS, true)));
WebDriver driver = new FirefoxDriver(options);
Node JS と Selenium を使用してこの問題が発生していました。どこでも検索しましたが、何も見つかりませんでした。
最後にそれを手に入れました。多分これは誰かを助けるでしょう。
var webdriver = require('selenium-webdriver');
driver = new webdriver.Builder()
.withCapabilities({'browserName': 'firefox', acceptSslCerts: true, acceptInsecureCerts: true})
.build()