在 Google Chrome 中传递基本身份验证凭据再次显示弹出窗口

Passing basic auth credentials in Google Chrome shows the pop again

我正在使用 watir(Ruby 硒包)尝试使用基本身份验证

登录 url

我像这样传递凭据

 https://username:password@nagios.com

但是,当浏览器打开时,我会弹出一个窗口,要求我再次输入凭据。

我使用的代码如下

driver = Watir::Browser.new :chrome
driver.goto "https://username:password@nagios.com"

以上代码打开浏览器 -> 转到 url 但弹出窗口再次输入凭据。

如何使用基本身份验证登录 url?

事实证明,Chrome 在版本 52 之后已停止支持在 url 中传递凭据。更多信息 https://medium.com/@lmakarov/say-goodbye-to-urls-with-embedded-credentials-b051f6c7b6a3

要解决此问题,您需要在启动浏览器时设置参数 --disable-blink-features="BlockCredentialedSubresources"。它的作用是禁用该功能

更多信息Bypass blocking of subresource requests whose URLs contain embedded credentials

这是我最终的有效代码

 args = ['--disable-software-rasterizer',
                    '--disable-blink-features="BlockCredentialedSubresources"',
                    '--no-proxy-server',
                    '--disable-gpu',
                    '--no-sandbox',
                    '--ignore-certificate-errors']
driver = Watir::Browser.new :chrome, options: {args: args}
driver.goto "https://username:password@nagios.com"