24

Selenium を使用して、接続が「信頼されていない」証明書を使用するたびに Firefox が警告を発しないようにする方法を見つけようとしています。最も効果的な解決策は、ブラウザーの設定の 1 つを設定することだと思います。

4

16 に答える 16

5

上記の答えはどれもうまくいきませんでした。私が使用している: 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')
于 2017-01-06T15:02:54.633 に答える
5

WebDriverの「信頼できない接続」に対処するためのカスタム プロファイルは不要

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
driver = new FirefoxDriver(capabilities);
于 2013-10-17T05:14:43.883 に答える
2

C#: オプションに独自の属性が追加されたため、何かが変更されました。

var ffOptions = new FirefoxOptions();
ffOptions.AcceptInsecureCertificates = true;
Driver = new FirefoxDriver(ffOptions);

お役に立てれば。

于 2019-10-17T07:35:36.337 に答える
1

私の場合、これでうまくいきました

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);
于 2018-09-04T15:11:10.297 に答える
0

Node JS と Selenium を使用してこの問題が発生していました。どこでも検索しましたが、何も見つかりませんでした。

最後にそれを手に入れました。多分これは誰かを助けるでしょう。

var webdriver = require('selenium-webdriver');
driver = new webdriver.Builder()
.withCapabilities({'browserName': 'firefox', acceptSslCerts: true, acceptInsecureCerts: true})
.build()
于 2019-12-09T18:34:15.950 に答える