selenium webdriver学习(十三)------------如何利用Actions类模拟鼠标和键盘的操作

时间:2022-01-17 09:22:02

selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 的时候,用到了一个Actions类。这一节主要分析一下这个Actions类。

这个actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。

actions类可以完成单一的操作,也可以完成几个操作的组合。

 

单一的操作

单一的操作是指鼠标和键盘的一个操作。如鼠标左键按下、弹起或输入一个字符串等。

前面涉及到鼠标键盘操作的一些方法,都可以使用actions类中的方法实现,比如:click,sendkeys。

Java代码  selenium webdriver学习(十三)------------如何利用Actions类模拟鼠标和键盘的操作
  1. WebElement  element = dr.findElement(By.id("test"));    
  2.  WebElement  element1 = dr.findElement(By.id("test1"));    
  3. element.sendKeys("test");  
  4. element1.click;  

 用Actions类就可以这样实现:

Java代码  selenium webdriver学习(十三)------------如何利用Actions类模拟鼠标和键盘的操作
  1. //新建一个action  
  2. Actions action=new Actions(driver);  
  3. //操作  
  4. WebElement element=dr.findElement(By.id("test"));  
  5. WebElement element1=dr.findElement(By.id("su"));  
  6. action.sendKeys(element,"test").perform();  
  7. action.moveToElement(element1);  
  8. action.click().perform();  

 看起来用Actions类实现click和sendKeys有点烦索

 

组合操作

组合操作就是几个动作连在一起进行操作。如对一个元素的拖放。

Java代码  selenium webdriver学习(十三)------------如何利用Actions类模拟鼠标和键盘的操作
  1. (new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();    

 可以直接调用dragAndDrip()方法,也可以像下面濱示的一样把几个操作放一起实现

Java代码  selenium webdriver学习(十三)------------如何利用Actions类模拟鼠标和键盘的操作
  1. Action dragAndDrop = builder.clickAndHold(someElement)  
  2.        .moveToElement(otherElement)  
  3.        .release(otherElement)  
  4.        .build().perform();  

 其他鼠标或键盘操作方法可以具体看一下API里面的org.openqa.selenium.interactions.Actions


原文:http://jarvi.iteye.com/blog/1468690