1

ChromeのChrome 2.33とWebDriver 3.6.0でChromeを使用すると、Chromeのページに不正なSSL証明書が読み込まれる可能性があります。ページは無限にロードされます。手動でページにアクセスすると、予想される 'ブロッカーページ'が表示されます。ChromeはWebDriver経由で安全でないページを許可しています

しかし、私は、Chromeが人間のユーザーと同じようにWebDriverを介してページを拒否したいと考えています。

残念ながら、この同じ問題を報告している他の人は見つかりませんでした(まったく反対の問題を報告している多くの人、つまりWebDriver経由の安全でない接続を許可したいと考えています。

設定できるフラグはありますか(WebDriverが内部的にChromeにパスする場合は設定できません)?

const {Builder, Capabilities} = require('selenium-webdriver'); 

const driver = new Builder() 
    .withCapabilities(Capabilities.chrome()) 
    .build(); 

driver.get('https://localhost/'); // Uses self-signed certificate. 

答えて

1

デフォルトでは、chromedriverは信頼できない証明書を受け入れます。

この機能を無効にするには、あなたがスイッチignore-certificate-errorsを除外する必要があります:

var webdriver = require('selenium-webdriver'); 

var driver = new webdriver.Builder() 
    .withCapabilities({ 
    'browserName': 'chrome', 
    'goog:chromeOptions': { 
     'args': ['disable-infobars'], 
     'excludeSwitches': ['ignore-certificate-errors'], 
     'prefs': { } 
    } 
    }).build(); 

driver.get("https://self-signed.badssl.com/") 
+0

うーん 'chromeCapabilities.set( 'acceptSslCerts'、false)を' –

+0

@Lawrence経由で設定少なくともまだ葉巻、 Wagerfield、私は 'chromedriver'のソースを調べました。そして' acceptSslCerts'は単に無視され、常に 'true'を返します。代わりにスイッチ 'ignore-certificate-errors'を除外することもできます。 –

+0

ブリリアント!それは動作します:Dありがとう。 –

関連する問題