java - WebDriver 关闭弹出窗口

标签 java webdriver

我的网络驱动程序测试因出现弹出窗口而卡住。我如何在测试中关闭它?

这是我的代码:

@Test
 public void canGoToSomePage() throws Exception {

 final WebDriver webDriver = getFireFoxDriver();
 webDriver.get(getRouteAbsolute("Application.index"));


 WebElement someElement = webDriver.findElement(By.id("some_id_here"));
 someElement.click();

 // HERE I GOT AUTHENTICATION POP-UP I WANT TO CLOSE


 assertNotNull(webDriver.findElement(By.id("some_2_id")));

 }

最佳答案

试试这个,

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

我以前从未使用过alert,我以前使用JS来使弹出窗口静音。您也可以这样做,但我想警报将是第一选择。

编辑#1

以下是如何使用 Java 脚本来静默弹出窗口。请注意,它必须在导致弹出窗口显示的单击之前执行。根据您的弹出窗口是警报、确认还是提示,您将必须使用如下所示的内容。

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

关于java - WebDriver 关闭弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8034497/

相关文章:

java - Android SharedPreferences getInt 异常

java - 优化android中列表的支持

java - Spring Boot 或 Node js 应用程序的管理 UI

Selenium C# Webdriver 如何检测元素是否可见

Selenium WebDriver HTTP 错误 : 403 Forbidden for Proxy RequestURI=/session

java - 执行 Jenkins 构建时出错

junit - 使用Abstract类进行Junit + WebDriver自动化测试

c# - 将 sikuli 包含到 C# webdriver selenium

java - Hibernate两次向Join Table插入数据导致Spring Boot项目出现 "ORA-00001: unique constraint violated"

java - getLocalSocketAddress() 和 getRemoteSocketAddress() 未返回正确的值