Q群里有时候会有人问,selenium  webdriver怎么实现把一个元素拖放到另一个元素里面。这一节总一下元素的拖放。

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

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

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

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!

最新文章

  1. c#字符显示转换{0:d}
  2. kaggle数据挖掘竞赛初步--Titanic&lt;派生属性&amp;维归约&gt;
  3. ZooKeepr日志清理【转】
  4. 【初识 JQMobile 小小总结】
  5. 斐波那契数列PHP非递归数组实现
  6. ArcGIS Desktop10.2与CityEngine2012兼容问题
  7. Makedown常用符号整理
  8. Jfinal学习笔记
  9. 可重入与线程安全(大多数Qt类是可重入,非线程安全的)
  10. 数据视化Echarts+百度地图API实现市县区级下钻
  11. C# 中的委托和事件详解
  12. c#中读取数据库bit布尔字段数据转换Int和bool时的错误
  13. 分针网——每日分享: jquery选择器的用法
  14. nginx连接数优化
  15. 开源库支付库Magicodes.Pay发布
  16. 2.使用RNN做诗歌生成
  17. 【转】Java遍历Map对象的四种方式
  18. take it easy
  19. codeforces 735C Tennis Championship(贪心+递推)
  20. HDS Truecopy实现原理及项目的选择-诸多案例

热门文章

  1. 【Unity】第8章 GUI开发
  2. 【Unity】3.3 用3ds Max 2015制作模型并将其导入到Unity
  3. PC端页面同比例缩放
  4. JVM profiler tools
  5. artificial%20intelligence%20a%20modern%20approach
  6. Shell脚本判断内容为None的方式
  7. (原创)C++11改进我们的程序之简化我们的程序(四)
  8. NGUI的UISprite动态染色的一种方法
  9. xml属性定义
  10. C#学习笔记(19)——使用IComparer(百度文库)