java - 如何关闭登录请求窗口?

标签 java google-chrome selenium

我在使用 selenium 关闭登录请求时遇到问题。

我正在做一些自动测试的网站时常请求登录。

这是已知问题,您所要做的就是关闭登录请求,我正在尝试为此编写 Java 脚本。我的这段小代码似乎什么也没做。

WebDriver webDriverInstance = handl.browser;
webDriverInstance.switchTo().alert().dismiss(); 
webDriverInstance.switchTo().defaultContent();

有什么想法吗?

最佳答案

你可以做的是首先检查是否有弹出窗口

public boolean isAlertPresent() {
    try{
       WebDriverWait wait = new WebDriverWait(driver, 5);
       wait.until(ExpectedConditions.alertIsPresent());
       return true;
    }
    catch (NoAlertPresentException noAlert) {
      return false;
    }
    catch (TimeoutException timeOutEx){
      return false;
    }
}

如果它存在那么你可以像这样接受它

WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.accept();

JavascriptExecutor 为您效劳。请注意,您应该在单击调用警报的事件之前执行它。

((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return true; }");

注意:- 不要在点击调用警报确认框的事件后使用它。上面的代码默认将确认框设置为 true 意味着如果调用,您将接受/单击该页面上所有确认框上的确定。如果您想关闭警报,请将标志更改为 false

希望对你有帮助:)

关于java - 如何关闭登录请求窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45570150/

相关文章:

java - JAXB:获取错误 "Cannot resolve the name xxx to a(n) ' 类型定义'组件。”

java - System.setOut 与 PipedOutputStream

asp.net - 从 asp 应用程序流式传输 mime 类型 'application/pdf' 在 Google Chrome 中失败

selenium - driver.getWindowhandles()中得到的Set是否保留顺序

java - 无法使用 Selenium 和 Java 单击 Flipkart 主页中图像 slider 中的图像之一

java - 使用 java selenium xpath 动态查找前一个同级元素

java - 如何使用 RxJava 1.x 来 takeUntil 进行分页,该分页必须调用具有不同数据的每个页面?

java - 如何为多对多关联编写 HQL 查询?

google-chrome - 如何使用 AHK 重新映射 key 以打开和关闭 Google Chrome

python - 如何在 Selenium Chrome Python 中设置窗口大小