Selenium常用操作汇总二——如何把一个元素拖放到另一个元素里面(转)
2024-08-19 19:29:29
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!
最新文章
- c#字符显示转换{0:d}
- kaggle数据挖掘竞赛初步--Titanic<;派生属性&;维归约>;
- ZooKeepr日志清理【转】
- 【初识 JQMobile 小小总结】
- 斐波那契数列PHP非递归数组实现
- ArcGIS Desktop10.2与CityEngine2012兼容问题
- Makedown常用符号整理
- Jfinal学习笔记
- 可重入与线程安全(大多数Qt类是可重入,非线程安全的)
- 数据视化Echarts+百度地图API实现市县区级下钻
- C# 中的委托和事件详解
- c#中读取数据库bit布尔字段数据转换Int和bool时的错误
- 分针网——每日分享: jquery选择器的用法
- nginx连接数优化
- 开源库支付库Magicodes.Pay发布
- 2.使用RNN做诗歌生成
- 【转】Java遍历Map对象的四种方式
- take it easy
- codeforces 735C Tennis Championship(贪心+递推)
- HDS Truecopy实现原理及项目的选择-诸多案例