使用Selenium定位鼠标悬浮出现的下拉菜单

1、介绍

一些网站为了能够提供更多入口给用户,在制作网站的时候往往会使用鼠标悬浮出现下拉菜单的功能。以CSDN首页为例,鼠标悬停在个人头像上,会出现与个人信息有关的下拉菜单,当鼠标移走,菜单消失。

当在进行自动化测试的时候,如果需要选取下拉菜单中的控件,就需要使用Selenium提供的与键盘操作有关的Actions组件了。

2、处理方式

//头像控件的XPath是//*[@id="csdn-toolbar"]/div/div/ul/li[4]/div[1]/a
//先定位到元素,然后使用actions调出下拉菜单,最后进行目标控件的定位WebElement avatarElement = driver.findElement(By.xpath("//*[@id=\"csdn-toolbar\"]/div/div/ul/li[4]/div[1]/a"));Actions actions = new Actions(driver);actions.moveToElement(avatarElement).perform();Thread.sleep(1000);//定位目标元素。如果鼠标不悬浮的话,是找不到这个元素的。driver.findElement(By.xpath("//*[@id=\"csdn-toolbar\"]/div/div/ul/li[4]/div[2]/div[1]/div[3]/a")).click();

使用Selenium定位鼠标悬浮出现的下拉菜单相关推荐

  1. CSS - 鼠标移入悬停显示下拉菜单(导航栏鼠标经过 hover 时出现二级菜单)

    前言 该效果很常见,网上的代码都非常的乱,样式改起来非常难受. 本文提供 "最简洁" 的解决方案与干净整洁的代码,一眼看过去就知道改哪里, 配合 Vue.js 项目非常合适,如下图 ...

  2. html鼠标移入显示下拉框,小白求助!鼠标移入移出显示下拉菜单问题!

    是不是导航栏中的每个菜单移入移出都得分开不同的函数,都要重新命名不同的变量吗?不然怎么避免我鼠标移入这个菜单,别的菜单的下拉不会显示的问题? 这是我写的一个代码: 二级菜单下拉 *{ margin:0 ...

  3. html鼠标经过自动下拉菜单,操作方法:在鼠标经过后使用纯CSS实现下拉菜单,并附有示例说明(代码)...

    纯CSS实现鼠标移动到按钮上打开下拉菜单. CSS部分: .dropbtn { background-color: #4CAF50; color: white; padding: 16px; font ...

  4. css实现列表下拉菜单_逐行:点击打开下拉列表和菜单的高级CSS技巧

    css实现列表下拉菜单 by David Piepgrass 由David Piepgrass 逐行:点击打开下拉列表和菜单的高级CSS技巧 (Line-by-line: advanced CSS t ...

  5. 用php完成下拉菜单,最新的8个实现下拉菜单功能的总结

    在计算机应用中,下拉式选单是选单的一种表现形式.具体表现为:当用户选中一个选项后,该选单会向下延伸出具有其他选项的另一个选单.下拉式选单通常应用于把一些具有相同分类的功能放在同一个下拉式选单中,并把这 ...

  6. JavaScript(js)网页--下拉菜单制作

    JavaScript(js)网页–下拉菜单制作 在网页的设计中,经常会出现二级下拉菜单,当鼠标经过时,显示二级菜单,鼠标离开时隐藏.例如新浪网 鼠标放到微博.博客或邮箱上面时,会出现一个二级菜单,鼠标 ...

  7. JavaScript(js)网页–下拉菜单制作

    JavaScript(js)网页–下拉菜单制作 在网页的设计中,经常会出现二级下拉菜单,当鼠标经过时,显示二级菜单,鼠标离开时隐藏.例如新浪网 鼠标放到微博.博客或邮箱上面时,会出现一个二级菜单,鼠标 ...

  8. web自动化时,怎么定位鼠标悬浮时才出现的元素

    web自动化时,怎么定位鼠标悬浮时才出现的元素 如图所示, 想要定位"修改密码",必须先鼠标悬浮在头像位置,才能看到 修改密码,然后按正常操作在F12里就没办法定位"修改 ...

  9. 鼠标悬浮导航栏显示下拉菜单

    在这里介绍鼠标悬停导航栏显示下拉菜单得两种方法,html和css样式就不贴代码了. 1.原生js <script>// window.onload = function(){// 获取需要 ...

最新文章

  1. javaweb_JSP 的 include 指令的程序
  2. python调用库函数用ecb模式加密图片_AES中ECB模式的加密与解密(Python3.7)
  3. 通示jQuery实例方法,未DOM对象添加多个方法
  4. 基于centos6.5搭建redis伪分布式主备节点
  5. 【Flink】Flink 写入 AnalyticDB MySQL
  6. 【Elasticsearch】分片未分配 (UNASSIGNED) failed to obtain in-memory shard lock
  7. disruptor小结--消费者
  8. SQL Server 2008 R2 性能计数器详细列表(三)
  9. CSDN博客下载器v2.4发布
  10. 企业微信工具栏获取外部联系人unionid
  11. matlab时频分析
  12. 深入理解Java虚拟机——Java堆栈跟踪工具(jstack)
  13. 一文搞懂HTTP协议(带图文)
  14. 广西移动摇一摇送话费_跟大家分享一个今天碰见的中国移动中奖坑钱套路
  15. 记录异或门原理图和版图设计
  16. 递归例题讲解 一本通1215:迷宫 答案解析
  17. 2017 Multi-University Training Contest - Team 10
  18. 最全:2023年华为认证HCIA+HCIP题库合集(含答案解析)
  19. android zigbee环境监测,基于ZigBee技术的室内定位与环境监测系统
  20. 刷APP任务平台可靠吗?

热门文章

  1. py2exe使用方法 (含一些调试技巧,如压缩email 类)(转)
  2. webpack资源的输入与输出
  3. tensorflow实现余弦cosine相似度
  4. 解决java.lang.NoClassDefFoundError: org/apache/log4j/Level
  5. bind(),live(),delegate(),on()绑定事件方式
  6. sqlplus 登陆报协议适配器错误
  7. C#中的问号运算符简介
  8. iOS DLNA
  9. debian stretch + kernel 4.4 固件发布(支持硬件加速),可安装kodi
  10. kernel 3.2.0 上加入自己的板级文件