webdriver模拟鼠标悬浮
未经作者允许,禁止转载!
有时候会遇到这样的情况,鼠标停留在某一区域,不需要点击,悬浮在这一区域的上方就会显示该区域的下拉框,如下图


下面将鼠标停留在“日历”和“星座”这两个部分之间来回悬浮,下面是代码:
package test20161207; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions; public class test20161207 { public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "C:\\Training\\Automation\\Software\\drivers\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.hao123.com/");
driver.manage().window().maximize();
Thread.sleep(3000); //下面是鼠标悬浮的完整代码
WebElement element1=driver.findElement(By.xpath("//*[@id='calendarv2']/div[1]"));
Actions builder1=new Actions(driver);
Action mouserOverlogin = builder1.moveToElement(element1).build();
mouserOverlogin.perform();
Thread.sleep(2000); //下面是鼠标悬浮的简洁之后的代码
WebElement element2=driver.findElement(By.xpath("//*[@id='hao123-star']"));
Actions builder2=new Actions(driver);
builder2.moveToElement(element2).build().perform();
Thread.sleep(2000); WebElement element3=driver.findElement(By.xpath("//*[@id='calendarv2']/div[1]"));
Actions builder3=new Actions(driver);
builder3.moveToElement(element3).build().perform();
Thread.sleep(2000); WebElement element4=driver.findElement(By.xpath("//*[@id='hao123-star']"));
Actions builder4=new Actions(driver);
builder4.moveToElement(element4).build().perform();
Thread.sleep(2000); } }
下面是相对来说比较麻烦一点的
先将鼠标悬浮在1处,出现车辆展示下拉框,然后再将鼠标悬浮在从第一辆车到最后一辆车

package test20161207; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions; public class toyota_MouseOver20161207 { public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "C:\\Training\\Automation\\Software\\drivers\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.toyota.com/");
driver.manage().window().maximize();
Thread.sleep(3000); driver.findElement(By.xpath("//*[@id='tcom-secondary-nav']/ul/li[2]")).click();
Thread.sleep(2000); //下面是鼠标悬浮的完整代码
WebElement element1=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[1]/a[1]"));
Actions builder1=new Actions(driver);
Action mouserOverlogin = builder1.moveToElement(element1).build();
mouserOverlogin.perform();
Thread.sleep(2000); //下面是鼠标悬浮的简洁之后的代码
WebElement element2=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[2]/a[1]"));
Actions builder2=new Actions(driver);
builder2.moveToElement(element2).build().perform();
Thread.sleep(2000); WebElement element3=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[3]/a[1]"));
Actions builder3=new Actions(driver);
builder3.moveToElement(element3).build().perform();
Thread.sleep(2000); WebElement element4=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[4]/a[1]"));
Actions builder4=new Actions(driver);
builder4.moveToElement(element4).build().perform();
Thread.sleep(2000); WebElement element5=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[5]/a[1]"));
Actions builder5=new Actions(driver);
builder5.moveToElement(element5).build().perform();
Thread.sleep(2000); WebElement element6=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[6]/a[1]"));
Actions builder6=new Actions(driver);
builder6.moveToElement(element6).build().perform();
Thread.sleep(2000); WebElement element7=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[7]/a[1]"));
Actions builder7=new Actions(driver);
builder7.moveToElement(element7).build().perform();
Thread.sleep(2000); WebElement element8=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[8]/a[1]"));
Actions builder8=new Actions(driver);
builder8.moveToElement(element8).build().perform();
Thread.sleep(2000); WebElement element9=driver.findElement(By.xpath("//*[@id='cars-minivan']/li[1]/a[1]"));
Actions builder9=new Actions(driver);
builder9.moveToElement(element9).build().perform();
Thread.sleep(2000); } }
webdriver模拟鼠标悬浮的更多相关文章
- selenium webdriver 模拟鼠标悬浮
/**模拟鼠标悬浮在某元素上 * @param driver * @param locator */ public static void moveToElement(WebDriver driver ...
- selenium webdriver模拟鼠标键盘操作
在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.s ...
- selenium webdriver模拟鼠标键盘
在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.s ...
- webdriver模拟鼠标操作
ActionChains 生成模拟用户操作的对象 from selenium.webdriver.common.action_chains import ActionChains ActionChai ...
- Java+selenium之WebDriver模拟鼠标键盘操作(六)
org.openqa.selenium.interactions.Actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用 perform()方法进行执行 ...
- selenium webdriver(4)---模拟鼠标键盘操作
webdriver提供Actions来模拟鼠标悬浮.拖拽和键盘输入等操作,详细代码见org.openqa.selenium.interactions.Actions.本文通过几个实例来说明Action ...
- 模拟鼠标操作(ActionChains)(转 侵删)
在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单.拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作 首页模拟鼠标的操作要首先引入ActionChains的包 f ...
- selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等
selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...
- python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题
Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其 ...
随机推荐
- Elasticsearch学习之深入搜索四 --- cross-fields搜索
1. cross-fields搜索 一个唯一标识,跨了多个field.比如一个人,标识,是姓名:一个建筑,它的标识是地址.姓名可以散落在多个field中,比如first_name和last_name中 ...
- sencha touch 常见问题解答(26-50)
26.sencha touch在华为.红米等部分手机下hide事件失效,msgbox无法关闭怎么办 答:请看http://www.cnblogs.com/cjpx00008/p/3535557.htm ...
- [原]Failed to load SELinux policy. System Freezing ----redhat7or CentOS7 bug
重启rhel7或者centos7 启动界面按 e 在启动项后面加上enforcing=0 Ctrl+x 运行修改后的grub 进入系统 编辑保存/etc/selinux/config 重启
- [原]Openstack之identity server(keystone)
本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. 重新温习keystone的概念和理解 --------------------- ...
- docker 参数
-a, --attach=[] Attach to STDIN, STDOUT or STDERR 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项 --add-host= ...
- 【Android】 导入项目报错的解决方案
1.打项目的properties -->android 为其指一个运版本, 2.修改default properties 文件 ,改相应版本等级 3.选中项目,单击右键,选中properties ...
- Spring加载xsd文件报错:because 1) could not find the document; 2) the document could not be read...
Spring启动时加载xml文件的过程: spring在加载xsd文件时总是先试图在本地查找xsd文件(spring的jar包中已经包含了所有版本的xsd文件),如果没有找到,才会转向去URL指定的路 ...
- Thinkphp框架下(同服务器下)不同二级域名之间session互通共享设置
在Thinkphp框架下根目录打开index.php 在头部加入如下代码即可: //入口文件 define('DOMAIN','abc.com');//abc.com换成自己的跟域名 //以下两行是为 ...
- iOS - APP审核Guideline 2.5.1被拒,使用了私有API
最近iOS 审核被拒,说是使用了私有API:com.apple.springboard.lockcomplete 具体内容如下: 发件人 Apple . Performance: Software R ...
- numpy的文件存储,读取 .npy .npz 文件
Numpy能够读写磁盘上的文本数据或二进制数据. 将数组以二进制格式保存到磁盘 np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...