javascript - Chrome 允许通过 WebDriver 访问不安全的页面

标签 javascript selenium selenium-webdriver webdriver selenium-chromedriver

使用带有 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/

相关文章:

python / Selenium /火狐 : Can't start firefox with specified profile path

selenium-webdriver - 无法创建新的远程 session

java - Selenium Webdriver 在 Internet Explorer 中获取完整域的 cookie

javascript - 如何使用 Jquery 的 AJAX 提交复杂的表单?

c# - NUnit - 如何动态运行测试子集

javascript - jQuery 链接比单独的语句更快?

java - 在 Chrome JAVA 的当前 session 中启动 Selenium WebDriver

java - 如何在关键字驱动和数据驱动框架中实现TestNG?

JavaScript:到其他页面

javascript - 类型错误 : Invalid attempt to spread non-iterable instance