【问题标题】:Selenium Chrome suppress/dismiss client certificate selection dialogSelenium Chrome 抑制/关闭客户端证书选择对话框
【发布时间】:2015-07-24 07:53:12
【问题描述】:

如何使用 selenium(chrome 驱动程序)禁止或自动关闭客户端证书选择对话框?

我无法使用此证书,因为它存储在芯片卡上,我必须输入 PIN。如果没有可用的卡,我们的网站使用了基于凭据的登录,我想对此进行测试。

【问题讨论】:

  • 是 iframe 弹出窗口还是警报?
  • 这是来自 chrome 的对话框(不是由客户端代码打开的)。如果网站发送某些标头表示接受客户端证书,它就会弹出。它像一个警告对话框一样显示。
  • 可以这样绕过这个弹出窗口吗? user:password@example.com
  • 没有。它不起作用。

标签: google-chrome selenium selenium-chromedriver client-certificates ui-testing


【解决方案1】:

我找到了解决这个问题的方法: 您必须使用 chrome 参数 - AutoSelectCertificateForUrls

将此添加到 Windows 注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls\1 = "{"pattern":"https://yoursite.com","filter":{}}"

【讨论】:

    【解决方案2】:

    在 linux 中你需要这个文件集:

    $HOME/etc/opt/chrome/policies/managed/auto_select_certificate.json
    

    有了这个内容:

    {
      "AutoSelectCertificateForUrls": [ "{\"pattern\":\"*\",\"filter\":{}}" ]
    }
    

    有了这个设置,它应该自动允许每个安装的客户端证书。

    关于如何在 C# 中使用 Docker 解决它的详细文章可以在我在这里写的一篇文章中找到: https://sgedda.medium.com/running-selenium-with-chromedriver-together-with-client-certificate-set-in-headful-mode-with-net-a79bde19e472

    【讨论】:

      【解决方案3】:

      尝试使用“--ignore-certificate-errors”和“--ignore-urlfetcher-cert-requests”参数启动 chrome。

      ChromeOptions opts = new ChromeOptions();
      opts.addArguments("ignore-certificate-errors","ignore-urlfetcher-cert-requests");
      WebDriver driver = new ChromeDriver(opts);
      driver.get("http://www.google.com");
      System.out.println("Title:" + driver.getTitle());
      

      【讨论】:

      • 不,它仍然显示对话框:(我用ignore-urlfetcher-cert-requests--ignore-urlfetcher-cert-requests尝试过
      • 有趣的是:如果我将它添加到我的 chrome 桌面链接的命令行参数中,它就可以工作。但不是硒。对于ignore-certificate-errors chrome 来说,这是一个未知的命令行开关。但是--start-maximized等其他参数传递正确。
      • @Sven-MichaelStübe 请在以下链接中提出有关 chromedriver 的问题:code.google.com/p/chromedriver/issues
      • Sven-Michael,你发现这个问题了吗?我需要完全一样的。谢谢!
      猜你喜欢
      • 2018-03-20
      • 2017-04-12
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多