Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像拖放到框中-selenium with java_Java_Selenium Webdriver_Drag And Drop - Fatal编程技术网

将图像拖放到框中-selenium with java

将图像拖放到框中-selenium with java,java,selenium-webdriver,drag-and-drop,Java,Selenium Webdriver,Drag And Drop,我想使用selenium在W3school网页中执行拖放操作。代码工作正常,但输出未显示在网页上 链接是:- 我的代码是:- public String dragAndDrop(String object,String data){ APP_LOGS.debug("waiting for popup closer"); try{ driver.switchTo().frame("iframeResult"); WebElement element

我想使用selenium在W3school网页中执行拖放操作。代码工作正常,但输出未显示在网页上

链接是:-

我的代码是:-

public String dragAndDrop(String object,String data){
    APP_LOGS.debug("waiting for popup closer");
    try{

        driver.switchTo().frame("iframeResult");
        WebElement element = driver.findElement(By.xpath(".//*[@id='drag1']"));
        WebElement target = driver.findElement(By.xpath(".//*[@id='div1']"));
        (new Actions(driver)).dragAndDrop(element, target).build().perform();
    }catch(Exception e){
        return Constants.KEYWORD_FAIL+" -- Unable to drag"+e.getMessage();

    }

    return Constants.KEYWORD_PASS;
}

我们还可以使用Selenium中的Actions类和robot类与键盘/鼠标事件交互。我使用了
Robot
类来解决您的问题

Robot
类存在于
java.awt
包中。您可以在中检查所有方法

public static void Task1() throws AWTError, AWTException, InterruptedException
{
    WebDriver driver = new FirefoxDriver();

    driver.get("https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop");

    driver.switchTo().frame("iframeResult");
    WebElement element1 = driver.findElement(By.xpath(".//img[@id='drag1']"));
    WebElement element2 = driver.findElement(By.xpath(".//*[@id='div1']"));
    Actions action = new Actions(driver);

    Point element3 = driver.findElement(By.xpath(".//*[@id='drag1']")).getLocation();
    int i=element3.getX()+800;
    int b=element3.getY()+250;

    Robot robot = new Robot();
    robot.mouseMove(i, b);
    // Press left click of mouse
    robot.mousePress( InputEvent.BUTTON1_DOWN_MASK);
    robot.delay(4000);
    robot.mouseMove(i+20, b-120);

    robot.mousePress( InputEvent.BUTTON1_DOWN_MASK);

    robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

    Thread.sleep(10000);
    driver.close();
}