无法使用selenium webdriver处理“需要身份验证”弹出窗口

时间:2015-01-23 11:57:03

标签: java selenium

当我通过webdriver打开我的Firefox时,它会给出一个身份验证弹出消息,如图所示。有时它在提供凭据后不止一次。我的要求是识别这个弹出窗口。在“用户名”和“密码”框中找到并提供值。和剩余逻辑的脚本。 (图片存储在此处:http://imgur.com/a54tAbo) 下面是我应用但不工作的逻辑。你能帮我解决这个问题。

String openWindowHandle = driver.getWindowHandle();
Set<String> AllWindowHandles = driver.getWindowHandles();
   for (String currentWindowHandle : allWindowHandles) {
      if (!currentWindowHandle.equals(openWindowHandle)){
          driver.switchTo().window(currentWindowHandle); /* Enter username and password and click on OK. */
      }
   } 

1 个答案:

答案 0 :(得分:-1)

你可以这样做:

WebDriverWait wdWait = new WebDriverWait(webdriver, 10);
Alert alert = wdWait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword("username", "password"));