【发布时间】:2017-06-26 04:16:42
【问题描述】:
我正在尝试在我的一个新 Webdriver 脚本中处理身份验证弹出窗口。我有一个适用于 IE 的工作解决方案,但我在 Chrome 上苦苦挣扎。 IE 就像遵循 [this page]:How to handle authentication popup with Selenium WebDriver using Java 上的建议一样简单。该线程没有为 Chrome 提供一个很好的解决方案,尽管一些评论者指出,该解决方案不适用于 Chrome。问题是,当您尝试在 Chrome 上执行以下代码时,登录弹出窗口不是警报。
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword(**username**, **password**));
这不是windows level () 身份验证弹窗,网页只是受密码保护。我知道在 Stack Overflow 上还有其他几个这个问题的实例,但我最近没有看到超过 2 岁。我希望 2017 年现在有更好的解决方案。提前致谢。
【问题讨论】:
-
可以分享一下网站吗?
-
我很乐意,但过去 2 年我们在这里遇到了几个安全问题,我知道我的经理会担心我分享链接。这是一个面向公众的开发网站,这就是他们对其进行密码保护的原因。
-
你看过这个吗? seleniumwebdrivertrainings.com/…
-
该站点建议与其他站点相同,即:使用自定义配置文件创建 FFdriver 实例,然后使用 user:pass@domain.com 技巧。当我尝试它时,它不起作用。有趣的是,如果我在常规 FF 浏览器中手动尝试该 URL,我会收到以下消息:您将使用用户名“autotest”登录到站点“domain.net”,但该网站不需要身份验证。这可能是企图欺骗你。 “domain.net”是您要访问的网站吗?
-
检查这个答案,使用 selenium 4 很容易stackoverflow.com/a/67321556/7604647
标签: java google-chrome selenium authentication selenium-webdriver