【发布时间】:2018-04-25 04:44:24
【问题描述】:
我在处理 Google Chrome 身份验证对话框时遇到了 Selenium WebDriver 的问题。我已经在网上搜索了 2 周,但我无法得到明确的解决方案。
我有一个限制,即 Selenium WebDriver 将在用户 SYSTEM 下的远程 Windows 2012 R2 服务器中运行,因此运行背景 没有 Chrome UI 显示。
由于上述限制,AutoIT 无法工作,因为它需要 UI 来处理事件。 Driver.SwitchTo().Alert() 似乎也不起作用,因为它根本无法捕获警报(有人说它仅适用于 IE)。
Driver.Navigate().GoToUrl("https://username:password@url.com") 无法正常工作,因为我的网站使用 SSO 登录。它将首先导航到https://www.landingsite.com,然后重定向到https://authenticationrequired.com/daM2Sc,SSO 登录的 URL 每次都是随机的,所以我无法直接绕过身份验证对话框。
我想通过使用Driver.Url 捕获身份验证 URL 并在 URL 前面添加我的用户名和密码来使用解决方法,但是由于提示的身份验证对话框,驱动程序无法捕获 URL 并抛出超时异常。
有人说通过将 URL 添加到受信任的站点会停止提示对话框,但由于某种原因它不起作用。它只适用于 IE。
还有其他解决办法吗?
【问题讨论】:
标签: c# selenium selenium-webdriver single-sign-on selenium-chromedriver