51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2022|回复: 2
打印 上一主题 下一主题

[转贴] selenium webdriver学习 10 – 怎么把一个元素拖放到另一个元素里面

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-7-18 14:06:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在来看看selenium webdriver是怎么实现drag and drop的吧。let‘s go!
CODE:
  1. <font size="4">package com.kxtx.pages;

  2. import org.openqa.selenium.By;
  3. import org.openqa.selenium.WebDriver;
  4. import org.openqa.selenium.WebElement;
  5. import org.openqa.selenium.firefox.FirefoxDriver;
  6. import org.openqa.selenium.interactions.Actions;

  7. public class DragAndDrop{

  8. /**
  9. * @author gongjf
  10. */
  11. public static void main(String[] args) {
  12. // TODO Auto-generated method stub
  13. System.setProperty("webdriver.firefox.bin", "D:\\Program Files\\Mozilla Firefox\\firefox.exe");
  14. WebDriver dr = new FirefoxDriver();
  15. dr.get("http://koyoz.com/demo/html/drag-drop/drag-drop.html");

  16. // 首先new出要拖入的页面元素对象和目标对象,然后进行拖入。
  17. WebElement element = dr.findElement(By.id("item1"));
  18. WebElement target = dr.findElement(By.id("drop"));
  19. (new Actions(dr)).dragAndDrop(element, target).perform();

  20. // 利用循环把其它item也拖入
  21. String id = "item";
  22. for (int i = 2; i <= 6; i++) {
  23. String item = id + i;
  24. (new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();
  25. }
  26. }

  27. }</font>
复制代码
代码很简单,需要注意的是(new Actions(dr)).dragAndDrop(element, target).perform();这句话中,dragAndDrop(element, target)这个方法是定义了“点击element元素对象,然后保持住,直到拖到目标元素对象里面才松开”这一系列动作的Actions,如果你不调 用perform()方法,这个Actions是不会执行的。over!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-7-18 15:19:14 | 只看该作者
不调用perform还真的不会执行哎
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-10 11:50 , Processed in 0.068034 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表