selenium webdriver怎么實現(xiàn)把一個元素拖放到另一個元素里面耸序。這一節(jié)總一下元素的拖放献宫。
下面這個頁面是一個演示拖放元素的頁面猪落,你可以把左右頁面中的條目拖放到右邊的div框中吕晌。
現(xiàn)在來看看selenium webdriver是怎么實現(xiàn)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();
//利用循環(huán)把其它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,如果你不調(diào) 用perform()方法屿良,這個Actions是不會執(zhí)行的。over惫周!