我正在尝试在我的一个新 Webdriver 脚本中处理身份验证弹出窗口。我有一个适用于 IE 的有效解决方案,但我在 Chrome 上苦苦挣扎。 IE 就像遵循 [本页] 上的建议一样简单: 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 级别 () 身份验证弹出窗口,该网页只是受密码保护。我知道这个问题在 Stack Overflow 上还有其他几个例子,但我最近没有看到超过 2 年的问题。我希望 2017 年现在有更好的解决方案。提前致谢。
原文由 Travis Needham 发布,翻译遵循 CC BY-SA 4.0 许可协议
*edit Chrome 不再支持这个。
这不是可以通过在地址前加上用户名和密码来处理的“受限”弹出窗口吗?
而不是
driver.get("http://www.example.com/");
去driver.get("http://username:password@www.example.com");
。