zoukankan      html  css  js  c++  java
  • selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面(转)

    Q群里有时候会有人问,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.     public static void 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.   
    31. }  
     代码很简单,需要注意的是(new Actions(dr)).dragAndDrop(element, target).perform();这句话中,dragAndDrop(element, target)这个方法是定义了“点击element元素对象,然后保持住,直到拖到目标元素对象里面才松开”这一系列动作的Actions,如果你不调用perform()方法,这个Actions是不会执行的。over!
  • 相关阅读:
    Cefsharp 75 设置代理
    C# Winform 执行JS脚本
    Cefsharp 75 为每个实例单独设置缓存目录
    QQ邮箱发送邮件,出现mail from address must be same as authorization user错误
    软件卸载后自动重装,服务器中了流氓软件解决方法
    win版宝塔更新后,宝塔无法启动(修复办法)
    C的typedef
    为Arch Linux安装桌面
    在Simplicity Studio下创建适用于EFR32的工程项目
    在VMWare上安装Arch Linux
  • 原文地址:https://www.cnblogs.com/yye2010/p/4596926.html
Copyright © 2011-2022 走看看