WebDriver 关闭弹出窗口

2023-12-02

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

这是我的代码:

@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来使弹出窗口静音。你也可以这样做,但我想警报将是第一选择。

EDIT#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; }");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebDriver 关闭弹出窗口 的相关文章

随机推荐

  • python 行编辑 telnet 服务器

    我正在用 python 创建一个服务器 它所做的事情无关紧要 但我希望它接受 telnet 连接并提供具有行编辑功能 tabcompletion emacs vi mode 等 和每个会话的历史记录的命令行界面 我已成功创建 telnet
  • 如何在java中获取命令提示符输出?

    如何获取命令提示符的输出 这意味着我已经打开了这样的命令提示符 Process process Runtime getRuntime exec cmd c start cmd exe K C Editor editorTemp exe 我无
  • 在解析 XML 时保留 CDATA 部分

    我正在尝试将现有的 Xml 文件转换为另一个 xml 文件 并添加一些节点 但是当我解析原始 xml 文件并将其写入另一个 xml 文件时 它会删除所有CDATA来自输出 xml 我怎样才能避免它 这是我的代码 tree ET parse
  • C# Webforms 在代码执行期间显示加载指示器 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我的 Webforms 应用程序数据量很大 主要是执行 ADO net 操作的 ASP 控件 我的加载时间为 5 15 秒 这是正常的 但我想让用户更明显地知道他们的请求正在处理
  • 如何循环遍历js对象中的项目?

    我怎样才能循环浏览这些项目 var userCache userCache john ID 234 name john userCache mary ID 567 name mary userCache douglas ID 42 name
  • random.choice() 有两个参数? [复制]

    这个问题在这里已经有答案了 我在以下掷骰子函数中犯了一个简单的错误 import random def rollDie return random choice 1 2 3 4 5 6 print rollDie 我确实知道我需要将序列作为
  • 如何在 Dart 中编码为 UTF16 Little Endian?

    我正在尝试使用 Dart 来操作程序使用的一些系统变量 我遇到过这样的问题飞镖的utf软件包已停产 并且我还没有找到任何方法来编码为 UTF 16 Little EndianFile 写 Dart 中是否有可以进行字节到 UTF 16 LE
  • 较新的 JRE 版本可以运行使用较旧的 JDK 版本编译的 Java 程序吗?

    运行用 Java 版本 1 6 编译的 Java 程序和相关库时我会遇到任何问题吗 and1 7 我使用 1 7 进行编译 而某些库是使用 1 6 进行编译 并在 1 7 JRE 中运行整个程序 As answered already yo
  • OpenGL 纹理映射顽固地拒绝工作

    我正在用 D 编程语言使用 SDL 和 OpenGL 编写 2D 游戏 目前它只是尝试将纹理映射的四边形渲染到屏幕上 问题是 整个纹理映射部分似乎不太工作 尽管纹理显然加载得很好 分配了一个非零纹理编号 不会导致 glGetError 返回
  • 这里如何使用不完整的类型作为向量的模板参数?

    直到以下程序是合法的以及诸如此类的 include
  • Excel 中的随机数数组

    如何使用以下命令创建随机数数组RAND or RANDBETWEEN功能 我正在尝试用一个公式模拟 10 卷六面骰子 例如 的平均结果 我过去曾尝试过以下方法 但它只创建一个随机数并重复它 SUMPRODUCT ROW A1 A10 0 I
  • 基于 SQL 集的范围

    如何让 SQL 在不循环的情况下重复某些基于集合的操作任意次数 如何让 SQL 对一系列数字执行操作 我基本上是在寻找一种方法来执行基于集合的 for 循环 我知道我可以创建一个包含整数的小表 例如从 1 到 1000 然后将其用于该范围内
  • 如何在使用集合时将项目添加到集合中?

    下面的示例抛出 InvalidOperationException 集合已修改 枚举操作可能无法执行 执行代码时 var urls new List
  • Android WebView在查看html嵌套列表时加载空白

    我正在尝试使用 Android 将大小合理的 html 嵌套列表加载到 WebView 中 问题是当我尝试加载 html 时 它看起来是空白的 现在我已经尝试了几种不同的方法 我首先尝试了 W3Schools Try It Yourself
  • 是否可以在变量中获取 Phalcon\Mvc\View 渲染输出?

    我需要返回 json 对象 该对象具有带有渲染操作的属性 html 是否可以使用 Phalcon vew 进行本地操作 Example posts NewsPost find limit gt 10 view new Phalcon Mvc
  • ImportError:pyInstaller 之后没有名为“tkinter”的模块

    我想做一个可执行文件 但每次运行 exe 时它都会写入ImportError No module named tkinter 以及我在 Stack Overflow 上读到的所有内容都对我没有帮助 我的 python 程序很简单 ODE 求
  • 当我尝试创建触发器时 PostgreSQL 出现语法错误

    我想在 PostgreSQL 中创建触发器 逻辑很简单 我需要触发器 如果 published at更新并且writing at为空 则将published at设置为writing at 我写了这个 但失败了 有人有想法吗 CREATE
  • 为每个子图提供标题 - R Shiny

    我正在尝试使用 blondeclover 的以下代码创建绘图 代码如下 library shiny library ggplot2 library plotly library grid shinyApp ui ui fluidPage f
  • Google 柱形图单个日期和值显示为多个相邻条

    数据表结构如下 cols id label Date pattern type date id Col1 label Col1 Label pattern type number rows c v Date 2017 5 27 v 213
  • WebDriver 关闭弹出窗口

    我的网络驱动程序测试因出现弹出窗口而卡住 我如何在测试中关闭它 这是我的代码 Test public void canGoToSomePage throws Exception final WebDriver webDriver getFi