dragAndDropBy() method name tells by the name itself. We can easily use this method to drag and drop the files/folders from one location to another location.
JAVA API Syntax : public Actions dragAndDropBy(WebElement src, int xOffset,int yOffset)
I have written the below code for example using drive.google.com. Codes are written to hold the file with cursor movement and place it to another folder.
Code:
JAVA API Syntax : public Actions dragAndDropBy(WebElement src, int xOffset,int yOffset)
I have written the below code for example using drive.google.com. Codes are written to hold the file with cursor movement and place it to another folder.
Code:
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class DragAndDropByMethod
{
public static void main(String... args) throws InterruptedException
{
//Invoke FirefoxBrowser
WebDriver dr = new FirefoxDriver();
//Login drive.google.com with user id and password
dr.get("https://www.drive.google.com");
dr.findElement(By.id("Email")).sendKeys("onlytest628");
dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
dr.findElement(By.id("next")).click();
dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
dr.findElement(By.id("Passwd")).sendKeys("steverock@123");
Thread.sleep(1000);
dr.findElement(By.id("signIn")).click();
Thread.sleep(5000);
//Assign the webelement into variables
WebElement xyAxisPoint = dr.findElement(By.className("k-v-ta-za-Ln-vd"));
WebElement moveHere = dr.findElement(By.className("k-ta-P-x"));
System.out.println(moveHere.getLocation());
//wait for 2 seconds
dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
Actions builder = new Actions(dr);
//builder.dragAndDropBy(xyAxisPoint, moveHere.getLocation().x,
//moveHere.getLocation().y)
//drag the files and drop at X&Y axis location of the folder
builder.dragAndDropBy(xyAxisPoint, moveHere.getLocation().getX(),
moveHere.getLocation().getY())
.perform();
}
}