硒警报认证

时间:2018-07-01 23:17:19

标签: java selenium selenium-webdriver selenium-chromedriver

我正在尝试访问位于我的本地主机上的网站。当我导航到它时,会出现一个警报,并且我必须进行身份验证,但是当我使用方法“ authenticateUsing”时,它表明它不存在。谁能帮我?

        System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.navigate().to("http://localhost:8015/thing/Home");
        String username = "a";
        String password = "bbbbb";
        WebDriverWait wait = new WebDriverWait(driver, 10);      
        Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
        alert.authenticateUsing(new UserAndPassword(username, password));

错误看起来像: enter image description here

我要填写这样的警报: enter image description here

1 个答案:

答案 0 :(得分:2)

该问题并未提供足够的信息。我会给你一些方法:

方法1:

要进行交互,必须先切换到警报框。

Alert alert = driver.switchTo().alert();  

然后您可以继续执行。切换到警报后类似这样:

wait.until(ExpectedConditions.alertIsPresent());  
alert.authenticateUsing(new UserAndPassword(username, password)); 

方法2:

String username = "a";
String password = "bbbbb";
String URL = "http://" + username  + ":" + password + "@" + localhost:8015/thing/Home;
driver.get(URL);
Alert alert = driver.switchTo().alert();
alert.accept();  

方法3::您可以尝试使用AutoIT脚本。请注意,AutoIT脚本仅在Windows环境中有效。但是,我不建议您采用这种方法。