Selenium href 空白新窗口测试

2023-12-05

因此,使用 Selenium,我想测试页面上的链接并查看它们是否打开一个新窗口。它们不是 javascript 链接,只是一个基本的 href“target=_blank”。 我想确保新打开的窗口确实加载了页面。 我可以执行所有脚本来单击链接,但是当我测试页面标题时,我得到的是我正在测试的页面,而不是顶部的新窗口。 如何定位该新窗口并检查该页面是否已加载?

thanks


以下内容对我有用,其属性为 target="_blank" 的表单,该表单在新窗口上发送 POST 请求:

// Open the action in a new empty window
selenium.getEval("this.page().findElement(\"//form[@id='myForm']\").target='my_window'");
selenium.getEval("selenium.browserbot.getCurrentWindow().open('', 'my_window')");

//The contents load in the previously opened window
selenium.click("//form[@id='myForm']//input[@value='Submit']");
Thread.sleep(2000);

//Focus in the new window
selenium.selectWindow("my_window");
selenium.windowFocus();
/* .. Do something - i.e.: assertTrue(.........); */

//Close the window and back to the main one
selenium.close();
selenium.selectWindow(null);
selenium.windowFocus();

html 代码类似于:

<form id="myForm" action="/myAction.do" target="_blank">
    <input type="text" name="myText" value="some text"/>
    <input type="submit" value="Save"/>
</form>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium href 空白新窗口测试 的相关文章

随机推荐

  • 从按钮扩展获取所有数据 (Excel)

    我们有一个支持分页的数据表 没问题 需要包含 导出到 Excel 按钮 因此 我们添加了 按钮 扩展 并且可以正常导出数据 问题是这样的 它只导出当前页面的数据 而不是整个数据集 如何获取整组数据 是否可以 dataTable custom
  • 需要 WPF 线角度的算法

    计算 WPF 线的角度 以度为单位 的 正确 算法是什么 你需要atan2 然而 这将为您提供以弧度为单位的角度 转换为度数一定很容易 角度的计算方式为atan2 y2 y1 x2 x1 where x1 y1 and x2 y2 是你的线
  • Powershell:通过 UpgradeCode 卸载应用程序

    当我通过 Powershell 脚本升级 降级我的应用程序时 我想在运行新安装程序之前首先强制卸载当前安装的版本 如何使用应用程序的 UpgradeCode 使用 Powershell 来做到这一点 通过应用程序名称执行此操作会不太健壮 既
  • 单声道,shell 脚本?

    csharp 版本 Mono C 编译器版本 4 0 0 0 允许写入C 脚本 like usr bin csharp Console WriteLine Hello world 我尝试添加 main 函数 但出现解析错误 例如 inter
  • 从 powershell 脚本生成的程序中正常退出

    假设我有以下脚本 originalPath pwd D code ps1 misc title ps1 dynamo db CURPATH PSScriptRoot path txt DB DIR cat CURPATH cd DB DIR
  • 使用 Powershell 通过传入参数来更新 web.config 中 XML 元素的 configSource

    我试图找到一种方法 通过更新 web config 中 appSettings 元素的 configSource 来更新不同环境的 web config 这是我知道的方法 xml get DocumentElement appSetting
  • 如何在Dask中进行行处理和项目分配

    类似的未回答问题 Dask DataFrame 的逐行处理 我正在处理数百万行长的数据帧 因此现在我尝试并行执行所有数据帧操作 我需要转换为 Dask 的此类操作之一是 for row in df itertuples ratio row
  • 我有md5加密的密码,当用户使用“忘记密码”时如何将密码提供给用户?

    我有 md5 格式的密码数据库条目 但是当用户使用 忘记密码 时 我该如何给他 她所需的密码 你不能通过 MD5 哈希来做到这一点 你也不应该能够 密码恢复应该是很棘手的 通常的过程是将密码重置令牌 URL 发送到他们的电子邮件地址 以便用
  • 打开文件后程序崩溃[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我需要将文件中的值读取到我的程序中 文件打开成功 但随
  • ViewFlipper 不随子列表视图一起翻转

    滑动时 ViewFlipper 不工作 如果我放置其他视图而不是列表视图 则翻转效果很好 我还应该为列表视图添加其他代码吗 并且视图翻转器内的滚动视图也不适合我 这是我的 xml 代码
  • 右键单击坐标[重复]

    这个问题在这里已经有答案了 好吧 我正在使用这个函数来获取 X Y 坐标
  • symfony 1.4:如何将异常消息传递给error.html.php?

    我尝试使用特殊变量 message此处描述http www symfony project org cookbook 1 2 en error templates但似乎这个变量没有在 symfony 1 4 中定义 至少它不包含以这种方式传
  • Tensorboard 在端口 6006 上无法正常运行

    我一直在使用张量板时遇到问题 可能是由于 windows10 中的退出不干净造成的 我使用以下代码在 Jupyter 中启动它 load ext tensorboard tensorboard logdir dir 这就是我得到的 ERRO
  • 受约束泛型类型的“As”运算符

    考虑 TTest
  • 在生产模式下从控制台调用 Angular2 组件方法

    有没有办法在生产模式下调用组件或服务方法 我知道可以使用以下方式调试应用程序ng probe并使用 Angular2 调试应用 Augury https augury angular io 但是 这些仅在开发模式下有效 以下是在生产模式下
  • 通过 Xamarin.Forms 中 WebView 中的 Javascript onClick 事件调用 C# 函数

    我有一个帖子类型WebView我设法将其与服务响应绑定为字符串 但我有一些链接 例如具有 ID 的相关帖子 单击这些链接后 我希望用户转到该文章 我尝试了很多解决方案 但它看起来像JavaScript不会在点击时调用 它会在加载时调用 因为
  • (Python)列表索引超出范围 - 迭代[重复]

    这个问题在这里已经有答案了 for i in range len lst if lst i 0 1 or lst i 1 1 lst remove lst i return lst 这给出了 IndexError 列表索引超出范围 为什么会
  • 使用 OpenCV 以正确的速度播放视频

    我在播放视频文件时遇到问题 为什么是慢动作 怎么才能让它正常速度呢 include opencv2 opencv hpp using namespace cv int main int char VideoCapture cap eye m
  • MONO 4.6.2 服务器 CPU 使用率高

    我已经更新了我的 Ubuntu服务器到16 04 1 长期支持 and MONO to v4 6 2 来自官方存储库 自更新以来 网站仍然运行良好 但大约一两天后 一些 MONO 进程变得疯狂并停止运行 100 of the CPU 我有不
  • Selenium href 空白新窗口测试

    因此 使用 Selenium 我想测试页面上的链接并查看它们是否打开一个新窗口 它们不是 javascript 链接 只是一个基本的 href target blank 我想确保新打开的窗口确实加载了页面 我可以执行所有脚本来单击链接 但是