我正在尝试使用 Geb 在 headless Chrome 中运行测试。在进入页面之前,我必须选择客户端证书进行身份验证。如何在 headless 模式下做到这一点?
机器人类在没有 UI 的情况下无法工作。
有没有办法处理证书选择?我阅读了政策和 AutoSelectCertificateForUrls
但我找不到从文件加载策略或将此特定参数设置为选项/参数的方法(Linux 上的 Chrome)。
在 PhantomJS 中,可以选择提供证书作为参数,但如何使用 Chrome 驱动程序执行此操作?
最佳答案
我遇到了同样的问题,并最终以 headful 模式运行。尽管要能够在 headful 模式下运行 Selenium,但需要在服务器上安装一些东西。我写了一篇关于在 Linux 中使用 Selenium 和 .NET Core 并通过 docker 设置环境的主题的文章。
https://sgedda.medium.com/running-selenium-with-chromedriver-together-with-client-certificate-set-in-headful-mode-with-net-a79bde19e472
文件
https://gist.githubusercontent.com/sgedda/584aa35a0d9162ad24f9cca836266959/raw/1fc0b4e6e8c76b791437bc847b67b2ed676c5d9b/Dockerfile
关于google-chrome - 在 Chrome headless 模式下选择客户端证书进行授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56055156/