首页 > 解决方案 > 带有 Chrome 浏览器的 Selenium Webdriver 不显示身份验证弹出窗口

问题描述

我正在自动化具有 LDAP 身份验证的客户端的内部应用程序。我将 Selenium 3.141.59 与 C#、Chrome 浏览器 78 一起使用。

问题: 当我手动打开浏览器并放置 url 然后浏览器显示登录弹出窗口以输入用户 ID 和密码。(参考截图) 在此处输入图像描述

Same time when Selenium launch browser instance then navigate to same url, it's not showing any sign-in pop-up.
Due this I was unable to continue next steps in automation.

我尝试将用户 ID 和密码连同 url 一起发送,但它也没有重定向。 https://userID:password@url

谁能帮助我,如何解决这个问题。

标签: seleniumauthentication

解决方案


您尝试过的不再支持。您现在必须在请求中包含身份验证标头。在您的情况下,我建议您设置一个代理,该代理会将标头添加到您浏览器的所有传出消息中

例如,您可以使用仅在测试中配置的Browsermob 代理。您可以在此处找到有关基本身份验证工作原理的一些详细信息。它是 Java 的解决方案,但是您可以找到要设置的标头和要分配的值(简而言之:标头 -Authorization: Basic username:password Realm=""其中 username:password 是在 中编码的凭据对Base64)。

这也可能对您有用:如何对 base64 字符串进行编码和解码?

UPD:这是Python Selenium 的解决方案


推荐阅读