【发布时间】:2023-02-09 15:31:03
【问题描述】:
标签: selenium google-chrome selenium-webdriver selenium-chromedriver
标签: selenium google-chrome selenium-webdriver selenium-chromedriver
好吧,简短的版本:你不能......
日志版本?
开始了:
每个浏览器都有两个选项之一:或者有自己的“证书数据库”,或者正在使用系统证书数据库。所以你不能在窗口中选择证书,但你可以强制(更可能是擦除)证书数据库只找到一个证书。
但是这些信息如何帮助您?好吧,chrome 驱动程序,我想其他的也一样,如果只有一个证书,您可以告诉浏览器对于特定域自动使用一个值进行证书登录:AutoSelectCertificateForUrls,所以,这里是流浪汉:
在 linux 中(对于每个平台,过程与这里不同,所以我将解释 linux,如果你需要其他,做一些研究)可能存在或者你可以在一个或两个路径中创建一个文件: /home/your-user/etc/opt/chrome/policies/managed/auto_select_certificate.json 还有这个: /home/你的用户/etc/opt/auto_select_certificate.json 在两者中你需要放置相同的内容: {“AutoSelectCertificateForUrls”:[“{”模式“:”.]domain.us","filter":{}}"]} 该内容告诉 chrome 驱动程序:“如果您看到这样的域:'”。.]domain.us"' 并要求提供证书,请发送我拥有的“唯一”证书...
所以此时您只需要删除所有证书并添加您需要的证书即可。
要管理证书 linux,您需要编辑“通常”位于此处的用户证书数据库的内容:
/home/your-user/.pki/nssdb
由你来添加你的证书,记住必须只有一个。
之后,如果您使用 selenium 并加载通常显示证书选择模式的 url,它将不会显示,并且会自动使用您的证书进行身份验证。
希望这有帮助。
【讨论】: