WebDriver拾级而上·之十五 拖曳动作模拟
来源:互联网 发布:济南网络优化 编辑:程序博客网 时间:2024/06/12 06:49
如何把一个元素拖放到另一个元素里面
dr.get("http://koyoz.com/demo/html/drag-drop/drag-drop.html"); //首先new出要拖入的页面元素对象element和目标对象target,然后进行拖入。 //dr.quit();
WebElement element1 = dr.findElement(By.id("test1"));
(new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();
.moveToElement(otherElement) .release(otherElement) .build().perform();
下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中。
http://koyoz.com/demo/html/drag-drop/drag-drop.htm
Java代码
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
public class Test_DragAndDrop {
public static void main(String[] args) {
WebDriver dr = new ChromeDriver();
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();
}
}
}
=================================================
附:如何利用Actions类模拟鼠标和键盘的操作
actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。
actions类可以完成单一的操作,也可以完成几个操作的组合。
单一的操作
单一的操作是指鼠标和键盘的一个操作。如鼠标左键按下、弹起或输入一个字符串等。
前面涉及到鼠标键盘操作的一些方法,都可以使用actions类中的方法实现,比如:click,sendkeys。
WebElement element = dr.findElement(By.id("test"));
element.sendKeys("test");
element1.click;
用Actions类就可以这样实现:
//新建一个action
Actions action=new Actions(driver);
//操作
WebElement element=dr.findElement(By.id("test"));
WebElement element1=dr.findElement(By.id("su"));
action.sendKeys(element,"test").perform();
action.moveToElement(element1);
action.click().perform();
看起来用Actions类实现click和sendKeys有点烦索
组合操作
组合操作就是几个动作连在一起进行操作。如对一个元素的拖放。
可以直接调用dragAndDrip()方法,也可以像下面濱示的一样把几个操作放一起实现
Action dragAndDrop = builder.clickAndHold(someElement)
其他鼠标或键盘操作方法可以具体看一下API里面的org.openqa.selenium.interactions.Actions类
- WebDriver拾级而上·之十五 拖曳动作模拟
- WebDriver拾级而上·之十五 拖曳动作模拟
- WebDriver拾级而上·之零 WebDriver理论
- WebDriver拾级而上·之零 WebDriver理论
- WebDriver拾级而上·之八 操作cookies
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之二 浏览器操作
- WebDriver拾级而上·之二 浏览器操作
- WebDriver拾级而上·之八 操作cookies
- WebDriver拾级而上·之十四 RemoteWebDriver
- WebDriver拾级而上·之十七 断言
- WebDriver拾级而上·之十二 截图selenium-webdriver
- WebDriver拾级而上·之十二 截图selenium-webdriver
- WebDriver拾级而上·之七 处理对话框alert\confirm\prompt
- WebDriver拾级而上·之九 等待页面加载元素完成
- WebDriver拾级而上·之十 封装与重用
- WebDriver拾级而上·之十三 调用Java Script
- WebDriver拾级而上·之三 定位页面元素
- 在eclipse中生成android项目工程生成apk包
- WebDriver拾级而上·之十三 调用Java Script
- WebDriver拾级而上·之十四 RemoteWebDriver
- Linux内核开发入门
- hdu 4638 Group 多校第四场
- WebDriver拾级而上·之十五 拖曳动作模拟
- HDU 1862 EXCEL排序
- zoj3261(并查集+set)
- WebDriver拾级而上·之十六 Table控件的处理
- 在Eclipse中config-brower的应用
- 11995 - I Can Guess the Data
- JAVA学习笔记(二)
- STM32F107启动文件分析(startup_stm32f10x_hd.s)
- Android弹出对话框实例