通过将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.
默认情况下,chromedriver接受不受信任的证书。
chromedriver
要禁用此功能,您必须排除此开关ignore-certificate-errors:
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/")