一尘不染

Chrome浏览器允许通过WebDriver访问不安全的页面

selenium

通过将Chrome 62与Chrome驱动程序2.33和WebDriver 3.6.0结合使用,Chrome允许页面使用错误的SSL证书加载-
当页面打开时,URL栏中会显示“不安全”,但页面仍然加载。如果我手动访问该页面,则会得到预期的“阻止程序页面”。

但是,我希望Chrome浏览器通过WebDriver拒绝该页面,就像Chrome对人类用户一样。

不幸的是,我找不到其他人报告同样的问题(很多人报告的是完全相反的问题-即他们想通过WebDriver允许不安全的连接,但是Chrome一直在阻止它们!)。

是否可以设置一个标志(如果WebDriver内部将一个传递给Chrome,则可以设置标志)?

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

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

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

阅读 1169

收藏
2020-06-26

共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/")
2020-06-26