未经作者允许,禁止转载!

有时候会遇到这样的情况,鼠标停留在某一区域,不需要点击,悬浮在这一区域的上方就会显示该区域的下拉框,如下图

下面将鼠标停留在“日历”和“星座”这两个部分之间来回悬浮,下面是代码:

  1. package test20161207;
  2.  
  3. import org.openqa.selenium.By;
  4. import org.openqa.selenium.WebDriver;
  5. import org.openqa.selenium.WebElement;
  6. import org.openqa.selenium.chrome.ChromeDriver;
  7. import org.openqa.selenium.interactions.Action;
  8. import org.openqa.selenium.interactions.Actions;
  9.  
  10. public class test20161207 {
  11.  
  12. public static void main(String[] args) throws InterruptedException {
  13. // TODO Auto-generated method stub
  14. System.setProperty("webdriver.chrome.driver", "C:\\Training\\Automation\\Software\\drivers\\chromedriver_win32\\chromedriver.exe");
  15. WebDriver driver=new ChromeDriver();
  16. driver.get("https://www.hao123.com/");
  17. driver.manage().window().maximize();
  18. Thread.sleep(3000);
  19.  
  20. //下面是鼠标悬浮的完整代码
  21. WebElement element1=driver.findElement(By.xpath("//*[@id='calendarv2']/div[1]"));
  22. Actions builder1=new Actions(driver);
  23. Action mouserOverlogin = builder1.moveToElement(element1).build();
  24. mouserOverlogin.perform();
  25. Thread.sleep(2000);
  26.  
  27. //下面是鼠标悬浮的简洁之后的代码
  28. WebElement element2=driver.findElement(By.xpath("//*[@id='hao123-star']"));
  29. Actions builder2=new Actions(driver);
  30. builder2.moveToElement(element2).build().perform();
  31. Thread.sleep(2000);
  32.  
  33. WebElement element3=driver.findElement(By.xpath("//*[@id='calendarv2']/div[1]"));
  34. Actions builder3=new Actions(driver);
  35. builder3.moveToElement(element3).build().perform();
  36. Thread.sleep(2000);
  37.  
  38. WebElement element4=driver.findElement(By.xpath("//*[@id='hao123-star']"));
  39. Actions builder4=new Actions(driver);
  40. builder4.moveToElement(element4).build().perform();
  41. Thread.sleep(2000);
  42.  
  43. }
  44.  
  45. }

下面是相对来说比较麻烦一点的

先将鼠标悬浮在1处,出现车辆展示下拉框,然后再将鼠标悬浮在从第一辆车到最后一辆车

  1. package test20161207;
  2.  
  3. import org.openqa.selenium.By;
  4. import org.openqa.selenium.WebDriver;
  5. import org.openqa.selenium.WebElement;
  6. import org.openqa.selenium.chrome.ChromeDriver;
  7. import org.openqa.selenium.interactions.Action;
  8. import org.openqa.selenium.interactions.Actions;
  9.  
  10. public class toyota_MouseOver20161207 {
  11.  
  12. public static void main(String[] args) throws InterruptedException {
  13. // TODO Auto-generated method stub
  14. System.setProperty("webdriver.chrome.driver", "C:\\Training\\Automation\\Software\\drivers\\chromedriver_win32\\chromedriver.exe");
  15. WebDriver driver=new ChromeDriver();
  16. driver.get("http://www.toyota.com/");
  17. driver.manage().window().maximize();
  18. Thread.sleep(3000);
  19.  
  20. driver.findElement(By.xpath("//*[@id='tcom-secondary-nav']/ul/li[2]")).click();
  21. Thread.sleep(2000);
  22.  
  23. //下面是鼠标悬浮的完整代码
  24. WebElement element1=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[1]/a[1]"));
  25. Actions builder1=new Actions(driver);
  26. Action mouserOverlogin = builder1.moveToElement(element1).build();
  27. mouserOverlogin.perform();
  28. Thread.sleep(2000);
  29.  
  30. //下面是鼠标悬浮的简洁之后的代码
  31. WebElement element2=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[2]/a[1]"));
  32. Actions builder2=new Actions(driver);
  33. builder2.moveToElement(element2).build().perform();
  34. Thread.sleep(2000);
  35.  
  36. WebElement element3=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[3]/a[1]"));
  37. Actions builder3=new Actions(driver);
  38. builder3.moveToElement(element3).build().perform();
  39. Thread.sleep(2000);
  40.  
  41. WebElement element4=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[4]/a[1]"));
  42. Actions builder4=new Actions(driver);
  43. builder4.moveToElement(element4).build().perform();
  44. Thread.sleep(2000);
  45.  
  46. WebElement element5=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[5]/a[1]"));
  47. Actions builder5=new Actions(driver);
  48. builder5.moveToElement(element5).build().perform();
  49. Thread.sleep(2000);
  50.  
  51. WebElement element6=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[6]/a[1]"));
  52. Actions builder6=new Actions(driver);
  53. builder6.moveToElement(element6).build().perform();
  54. Thread.sleep(2000);
  55.  
  56. WebElement element7=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[7]/a[1]"));
  57. Actions builder7=new Actions(driver);
  58. builder7.moveToElement(element7).build().perform();
  59. Thread.sleep(2000);
  60.  
  61. WebElement element8=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[8]/a[1]"));
  62. Actions builder8=new Actions(driver);
  63. builder8.moveToElement(element8).build().perform();
  64. Thread.sleep(2000);
  65.  
  66. WebElement element9=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[1]/a[1]"));
  67. Actions builder9=new Actions(driver);
  68. builder9.moveToElement(element9).build().perform();
  69. Thread.sleep(2000);
  70.  
  71. }
  72.  
  73. }

webdriver模拟鼠标悬浮的更多相关文章

  1. selenium webdriver 模拟鼠标悬浮

    /**模拟鼠标悬浮在某元素上 * @param driver * @param locator */ public static void moveToElement(WebDriver driver ...

  2. selenium webdriver模拟鼠标键盘操作

    在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.s ...

  3. selenium webdriver模拟鼠标键盘

    在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.s ...

  4. webdriver模拟鼠标操作

    ActionChains 生成模拟用户操作的对象 from selenium.webdriver.common.action_chains import ActionChains ActionChai ...

  5. Java+selenium之WebDriver模拟鼠标键盘操作(六)

    org.openqa.selenium.interactions.Actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用 perform()方法进行执行 ...

  6. selenium webdriver(4)---模拟鼠标键盘操作

    webdriver提供Actions来模拟鼠标悬浮.拖拽和键盘输入等操作,详细代码见org.openqa.selenium.interactions.Actions.本文通过几个实例来说明Action ...

  7. 模拟鼠标操作(ActionChains)(转 侵删)

    在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单.拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作 首页模拟鼠标的操作要首先引入ActionChains的包 f ...

  8. selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

    selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...

  9. python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题

    Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其 ...

随机推荐

  1. js 的空值判断程序

    function empty(v){ switch (typeof v){ case 'undefined' : return true; case 'string' : if($.trim(v).l ...

  2. 【 转】__try,__except,__finally,__leave异常模型机制

    转自:http://blog.csdn.net/wwl33695/article/details/8686458 导读: 从本篇文章开始,将全面阐述__try,__except,__finally,_ ...

  3. 总结一下最近用到的技术(2)--JsonSchema和JsonSchemaValidator

    我们最早接触xml的时候会使用一个dtd文件去定义xml里可以有哪些元素和属性等,后来发展到xml schama(是一个xsd文件,在dtd的基础上提供了命名空间等更强大的功能) 现在,RESTful ...

  4. Coding和Git的环境搭建

    Github太慢了.打开网页慢,下载也只有几kb. 于是找了国内的Git,据说coding不错.就申请了个. 其实csdn也有...但是没人家的专业... 1 注册coding  https://co ...

  5. iOS 循环引用 委托 (实例说明)

    如何避免循环引用造成的内存泄漏呢: 以delegate模式为例(viewcontroller和view之间就是代理模式,viewcontroller有view的使用权,viewcontroller同时 ...

  6. iOS 8 AutoLayout与Size Class自悟

    前言 iOS8和iPhone6发布已经过去蛮久了,广大的果粉终于迎来了大屏iPhone,再也不用纠结为大屏买三星舍苹果了…但是对于iOS开发人员来说,迎来了和Android开发开发一样的问题—> ...

  7. border-image使用过程中遇到的几个问题

    这次年货,为了增添气氛,很多地方都用了边框,由于边框高度的不固定,给构建着实带了不小的麻烦. 通常我们处理边框的方法,无非以下两种方案: 1.切整张图片,做背景. 2.切上中下,进行拼接处理. 但是遇 ...

  8. TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言

    本文编辑:Cynthia 2009年,谷歌发布第二款开源编程语言,Go语言.8年过去了,很多初创公司早期使用Go进行开发,包括云计算巨头Docker.而Go语言在中国的普及程度还比不上JAVA和C语言 ...

  9. MapReduce实例(数据去重)

    数据去重: 原理(理解):Mapreduce程序首先应该确认<k3,v3>,根据<k3,v3>确定<k2,v2>,原始数据中出现次数超过一次的数据在输出文件中只出现 ...

  10. 推荐系统之余弦相似度的Spark实现

    推荐系统之余弦相似度的Spark实现 (1)原理分析    余弦相似度度量是相似度度量中最常用的度量关系,从程序分析中, 第一步是数据的输入, 其次是使用相似性度量公式 最后是对不同用户的递归计算. ...