Selenium Chrome抑制/关闭客户端证书选择对话框

bqf10yzr  于 2022-12-06  发布在  Go
关注(0)|答案(4)|浏览(292)

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

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

lf5gs5x2

lf5gs5x21#

我找到了解决这个问题的办法:必须使用镶边参数- AutoSelectCertificateForUrls
将以下内容添加到Windows注册表:

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

yfwxisqw2#

在linux中,您需要以下文件集:

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

具有以下内容:

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

通过此设置,它应该自动允许每个已安装的客户端证书。
关于如何使用Docker在C#中解决此问题的详细文章可以在我在此处撰写的一篇文章中找到:https://sgedda.medium.com/running-selenium-with-chromedriver-together-with-client-certificate-set-in-headful-mode-with-net-a79bde19e472

uajslkp6

uajslkp63#

尝试使用“--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());
gxwragnw

gxwragnw4#

请尝试以下代码。它对我很有效:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--ignore-urlfetcher-cert-requests");
webDriver = New ChromeDriver(chromeOptions);

相关问题