Selenium 2 WebDriver 实现无法正确处理可扩展菜单

2024-02-25

我有一个网页,单击一个按钮(例如 EXPAND_CONTEXT_MENU,内部实现为 href)会导致隐藏的上下文菜单在其下方展开,然后单击上下文菜单中的菜单项。

由于 Selenium 2 不允许直接访问隐藏元素,因此我首先单击 EXPAND_CONTEXT_MENU,然后单击所需的菜单项。

在尝试测试此解决方案时,InternetExplorerDriver 显示出一种奇怪的行为。第一次单击 EXPAND_CONTEXT_MENU 可以正常展开菜单,但在第二次单击(用于选择菜单项)之前,EXPAND_CONTEXT_MENU 会再次最小化。当第二次单击发生时,这会导致 ElementNotVisibleException。

FirefoxDriver 可以很好地执行此测试。我使用IE8和Firefox进行测试。

注意 - 在实际的 AUT 中,只需将鼠标悬停在 EXPAND_CONTEXT_MENU 上即可展开上下文菜单。


使用鼠标功能将鼠标悬停在相关元素上:

Locatable hoverItem = (Locatable) driver.findElement(By.xpath("//foo")); 
Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseMove(hoverItem.getCoordinates());

您需要导入可定位的,默认情况下不会引入它:

import org.openqa.selenium.internal.Locatable;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium 2 WebDriver 实现无法正确处理可扩展菜单 的相关文章

随机推荐

  • javax.xml.stream 包可从多个模块访问:、java.xml

    我有编译错误 The package javax xml stream is accessible from more than one module
  • Perl 5.16 中的 qr 操作

    我正在尝试修复一个非常旧的脚本 该脚本试图找到一个字符串FILE DESC LIMIT在文本文件中并将其更改为其他内容 为此 我当前的脚本在 Perl 5 10 上运行良好 我发现它使用了正则表达式 qr FILE DESC LIMIT d
  • Kivy刷新布局(异步加载)

    我有一个 ListView 其中每个项目都有一个 AsyncImage 和一个标签 加载图像时 它会显示每个项目之间有间隙的布局 Item Item 当第一次交互发生时 发生滚动 布局刷新并且间隙消失 Item Item 我真的很想在图像加
  • 使用准备好的语句时出现“尚未允许属性访问”警告[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式创建登录系统AES ENCRYPT 对我的密码进行编码 但我有一些警告xdebug当尝试实现这些代码时 key d0gis SUPER cute sql SELECT FROM users2
  • 在平滑滑块中选择幻灯片时禁用滑动

    我正在使用同步滑块 fullslide 一次一张幻灯片 thumbslide 一次 5 张幻灯片 用作全幻灯片的导航 从拇指幻灯片中选择一张幻灯片时 我希望它变为活动状态without向左或向中心滑动 有办法实现这一点吗 CODE slid
  • 如果在语句修饰符中声明变量,则发出警告

    我刚刚得到以下代码行 my foo bar if cond 我将解决这个问题 因为它当然会导致微妙的错误 https stackoverflow com a 5915308 1733163 是否有 Perl 版本 模块或编译指示在达到此类语
  • 一起部署多个应用程序

    我有两个应用程序配置为使用 capistrano 进行部署 它们单独部署都很好 但我想发布两个应用程序需要一起部署的版本 是否有解决方案可以将多个 capistrano 部署在一起并选择分支 我尝试过 caphub 但它对我不起作用 我明白
  • 从 Eclipse 推送到 Github 时出现“411 Length required”异常

    我正在 Eclipse 中为一个学校项目开发一个 Android 应用程序 并尝试推送到 Github 它工作了一段时间 然后突然开始告诉我 推送期间发生内部异常 http github com 我的用户名 repo name git 41
  • asp.net:response.redirect 不起作用

    我有一个 aspx 表单 其中有一个组合框 其中包含从数据库表检索的主题 提交按钮 单击该按钮可在网格视图中查看与该主题相关的问题 我通过在按钮单击事件中调用函数 FillGrid 来完成此操作 我还为我的 gridview 更改了 pag
  • 依赖于其他 slib 的静态库是否需要它们的实际“代码”才能工作?

    抱歉 问题标题含糊不清 我只是想确定一些事情 静态库不会与其他静态库链接 对吧 因此 当我编写一个 slib A 它使用另一个 B 的功能时 我所需要提供的只是 B 到 A 的标头 而且只有这些标头 即使 A 实际上使用了 B 的功能 是的
  • 后面代码中的计算

    司机服务费用为 30 美元 用户可以选择是否需要该服务 当他们已经选择汽车和租赁日期时 我将其存储在会话中 Session car1 Label1 Text Session price Label5 Text Session day Dro
  • 比较子列表并合并它们

    我有一个包含很多子列表的列表 这些子列表最初是数字对 所以它看起来像 list 2 3 4 5 7 8 8 9 11 12 14 15 15 16 16 17 17 18 18 19 20 21 我想要的是将子列表的最后一个数字与下一个子列
  • 如何使用 Pony ORM 存储 Python 枚举?

    假设我在这里有这个简单的小 Pony ORM 映射 内置 Enum 类是从 Python 3 4 开始新增的 并向后移植到 2 7 from enum import Enum from pony orm import Database Re
  • Jquery Div 点击隐藏

    我在页面中使用 coda 滑块 在这里查看 http www ndoherty com demos coda slider 1 1 1 http www ndoherty com demos coda slider 1 1 1 单击每个选项
  • 使用 Flask 处理大文件上传

    使用 Flask 处理非常大的文件上传 1 GB 的最佳方法是什么 我的应用程序本质上需要多个文件 为它们分配一个唯一的文件编号 然后根据用户选择的位置将其保存在服务器上 我们如何将文件上传作为后台任务运行 以便用户在 1 小时内不会旋转浏
  • MethodImpl 属性在 .NET 中如何工作?

    我正在研究一些框架代码 System AppDomain GetDynamicDir 方法 这就是汇编程序显示的全部内容 MethodImpl MethodImplOptions InternalCall private extern st
  • “if”语句可以在 bitbucket 管道中使用吗?

    我尝试运行以下步骤 但它不执行 if 步骤 第5行和第6行 我很确定它们应该执行 因为测试的目录不存在 我尝试了多种格式的bash if 但他们都失败了 有没有一种方法可以测试我正在使用的条件 step name Google Cloud
  • 在 R 中从列表创建多个饼图

    我想一次创建多个饼图 我有一个名称列表 1 361 456 745 858 1294 1297 2360 2872 3034 5118 5189 因此第一个饼图应标记为 361 依此类推 然后我有几个列表 其中每个饼图都有值 1 102 9
  • UIScrollView 中的 UITableView - 如何使视图滚动,而不是 TableView 本身滚动?

    想象一下 有一个 UIViewController 里面有一个 UIScrollView 视图的顶部有一个 UIImageView 一些 UILabels 和其他东西 此外 还有一个 UITableView 其内容是动态原型 我附上一张图片
  • Selenium 2 WebDriver 实现无法正确处理可扩展菜单

    我有一个网页 单击一个按钮 例如 EXPAND CONTEXT MENU 内部实现为 href 会导致隐藏的上下文菜单在其下方展开 然后单击上下文菜单中的菜单项 由于 Selenium 2 不允许直接访问隐藏元素 因此我首先单击 EXPAN