使用带有 Chrome Driver 2.33 和 WebDriver 3.6.0 的 Chrome 62,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
接受不受信任的证书。
要禁用此功能,您必须排除开关 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/")
关于javascript - Chrome 允许通过 WebDriver 访问不安全的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47315407/