selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面

下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中。

http://koyoz.com/demo/html/drag-drop/drag-drop.html

现在来看看selenium webdriver是怎么实现drag and drop的吧。let‘s go!

Java代码
  1. import org.openqa.selenium.By; 
  2. import org.openqa.selenium.WebDriver; 
  3. import org.openqa.selenium.WebElement; 
  4. import org.openqa.selenium.firefox.FirefoxDriver; 
  5. import org.openqa.selenium.interactions.Actions; 
  6.  
  7. public class DragAndDrop { 
  8.  
  9.     /**
  10.      * @author gongjf
  11.      */ 
  12.     publicstaticvoid main(String[] args) { 
  13.         // TODO Auto-generated method stub 
  14.         System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
  15.         WebDriver dr = new FirefoxDriver(); 
  16.         dr.get("http://koyoz.com/demo/html/drag-drop/drag-drop.html"); 
  17.          
  18.         //首先new出要拖入的页面元素对象和目标对象,然后进行拖入。 
  19.         WebElement  element = dr.findElement(By.id("item1")); 
  20.         WebElement  target = dr.findElement(By.id("drop")); 
  21.         (new Actions(dr)).dragAndDrop(element, target).perform(); 
  22.          
  23.         //利用循环把其它item也拖入 
  24.         String id="item"
  25.         for(int i=2;i<=6;i++){ 
  26.             String item = id+i; 
  27.             (new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform(); 
  28.         } 
  29.     } 
  30.  
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;

public class DragAndDrop {

	/**
	 * @author gongjf
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");  
		WebDriver dr = new FirefoxDriver();
		dr.get("http://koyoz.com/demo/html/drag-drop/drag-drop.html");
		
		//首先new出要拖入的页面元素对象和目标对象,然后进行拖入。
	    WebElement  element = dr.findElement(By.id("item1"));
		WebElement  target = dr.findElement(By.id("drop"));
		(new Actions(dr)).dragAndDrop(element, target).perform();
		
		//利用循环把其它item也拖入
		String id="item" ;
		for(int i=2;i<=6;i++){
			String item = id+i;
			(new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();
		}
	}

}
代码很简单,需要注意的是(new Actions(dr)).dragAndDrop(element, target).perform();这句话中,dragAndDrop(element, target)这个方法是定义了“点击element元素对象,然后保持住,直到拖到目标元素对象里面才松开”这一系列动作的Actions,如果你不调用perform()方法,这个Actions是不会执行的。over!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值