如何处理"需要认证"弹出硒

时间:2017-04-11 03:42:50

标签: selenium authentication selenium-webdriver

是否可以处理"需要验证"在selenium中弹出,其字段为" UserName"和#34;密码"使用警报。

enter image description here

4 个答案:

答案 0 :(得分:0)

您可以检查提示弹出窗口。 为此,您需要导入以下内容,

import org.openqa.selenium.security.UserAndPassword;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

首先你需要等到弹出窗口来临。

WebDriverWait wait = new WebDriverWait(driver, 30);

然后检查警报弹出窗口是否存在/是否可见

Alert alertPopUp = wait.until(ExpectedConditions.alertIsPresent()); 

然后你可以使用selenium web driver的authenticateUsing方法。

alertPopUp.authenticateUsing(new UserAndPassword("your_username", "your_password"));

还有另一种快速检查的方法, 如果您只想验证警报的提示

try {
  Alert alert = driver.switchTo().alert();
  alert.accept();

 } catch (NoAlertPresentException e) {
   // Alert not available
   e.printStackTrace();
 }

答案 1 :(得分:0)

我使用以下代码在IE中工作:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Ie()
driver.get("https://scdm.corp.vha.com")
alert = driver.switch_to_alert()
alert.authenticate("username","password")
time.sleep(20)
driver.close()

答案 2 :(得分:0)

最近,我在测试The-Internet基本身份验证弹出窗口时遇到了此问题。解决方法是

driver.get('http://admin:admin@the-internet.herokuapp.com/basic_auth')

在URL本身中添加用户名和密码。我在chrome和firefox中都尝试过。

答案 3 :(得分:0)

您可以执行此操作,而不是使用AutoIt进行身份验证弹出窗口

driver.get(http://Username:Password@SiteURL)