在Selenium 3.0中拖放不起作用

时间:2017-05-02 19:48:00

标签: java selenium firefox selenium-webdriver

我正在尝试以下代码来测试Selenium 3.0中的拖放并发现代码无效,这意味着它没有显示任何错误,也没有提供预期的结果。

我在selenium 2.53中尝试了相同的代码并且它正在运行。请有人检查我的代码并告诉我,如果我错过了什么。

Selenium 3.0

浏览器:Mozilla 2.52

package dynamicXpath;

import java.util.concurrent.TimeUnit;

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.firefox.FirefoxProfile;  
import org.openqa.selenium.interactions.Action;  
import org.openqa.selenium.interactions.Actions;

public class refermeprobI {

    public static void main(String[] args) throws InterruptedException{

    System.setProperty("webdriver.gecko.driver", "D:\\Drivers\\geckodriver.exe");

     FirefoxProfile profile = new FirefoxProfile();
      profile.setEnableNativeEvents(true);      
      WebDriver driver = new FirefoxDriver(profile);


            driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);


    driver.get("https://the-internet.herokuapp.com/drag_and_drop");

    Actions act = new Actions(driver);

    WebElement src = driver.findElement(By.xpath("//*[@id='column-a']"));
    WebElement dst = driver.findElement(By.xpath("//*[@id='column-b']"));






   act.dragAndDrop(src, dst).build().perform();

   System.out.println(driver.findElement(By.xpath("//*[@id='column-b']/header")).getText());



}

}

2 个答案:

答案 0 :(得分:0)

您还可以尝试以下操作:

 act.clickAndHold(src).moveToElement(dst).release(src).build().perform();

这适用于dragAndDrop()没有的某些情况。

答案 1 :(得分:0)

我检查了你的代码。一切都很好,除非您使用Selenium 3.0.0然后需要设置所需的功能。我还用Selenium最新的3.4检查了你的代码。如果您使用Selenium 3.4,则无需设置所需功能。我使用的是Firefox 52。 我希望这些信息可以帮助您了解遇到的问题。 谢谢