2016-05-16 8 views
0

Я новичок в селене (Java). при выполнении практики я нашел эту страницу, где оба элемента обладают способностью к перетаскиванию. я попробовал почти весь путь ... http://the-internet.herokuapp.com/drag_and_dropКак перетаскивать, если в приложении есть оба Drag-able Elements?

// ****Case 1**** 

    Actions builder = new Actions(driver); 
    builder.dragAndDrop(fromWebElement, toWebElement); 

// ****Case 2**** 

    Actions builder = new Actions(driver); 
    Action dragAndDrop = 
     builder.clickAndHold(fromWebElement).moveToElement(toWebElement) 
     .release(toWebElement).build(); 
    dragAndDrop.perform(); 

// ****Case 3**** 
Actions builder = new Actions(driver); 
    Action dragAndDrop = 
     builder.clickAndHold(fromWebElement).moveToElement(toWebElement, 2, 2) 
     .release(toWebElement).build(); 
    dragAndDrop.perform(); 


//****Case 4**** 
    Actions builder = new Actions(driver); 
    builder.clickAndHold(fromWebElement).moveToElement(toWebElement).perform(); 
    Thread.sleep(2000);// add 2 sec wait 
    builder.release(toWebElement).build().perform(); 


//****Case 5**** 
    Point coordinates1 = fromWebElement.getLocation(); 
    Point coordinates2 = toWebElement.getLocation(); 
     Robot robot = new Robot(); 
     robot.mouseMove(coordinates1.getX(), coordinates1.getY()); 
     robot.mousePress(InputEvent.BUTTON1_MASK); 
     robot.mouseMove(coordinates2.getX(), coordinates2.getY()); 
     robot.mouseRelease(InputEvent.BUTTON1_MASK); 
     Thread.sleep(2000); 
+0

все еще не в состоянии справиться с этим ,,,,, – Zain

ответ

0

попробовать следующий код:

@Test 
public void test() throws InterruptedException, AWTException{ 

    WebDriver driver = new FirefoxDriver();  

    driver.manage().window().maximize(); 
    driver.get("http://the-internet.herokuapp.com/drag_and_drop"); 
    Thread.sleep(3000); 

    WebElement fromWebElement = driver.findElement(By.cssSelector("#column-a")); 
    WebElement toWebElement = driver.findElement(By.cssSelector("#column-b")); 

    int x = toWebElement.getLocation().getX(); 
    int y = toWebElement.getLocation().getY(); 

    Point coordinates = driver.findElement(By.cssSelector("#column-a")).getLocation(); 

    Robot robot = new Robot(); 
    robot.mouseMove(coordinates.getX()+120,coordinates.getY()+120); 
    Thread.sleep(1000); 

    Actions builder1 = new Actions(driver); 
    builder1.clickAndHold(fromWebElement).moveToElement(toWebElement).release().build().perform(); 
    Thread.sleep(1000); 
    Point coordinates1 = driver.findElement(By.cssSelector("#column-b")).getLocation(); 
    Robot robot1 = new Robot(); 
    robot1.mouseMove(coordinates1.getX()+120,coordinates1.getY()+120); 


    Thread.sleep(1000); 
    Robot bot = new Robot(); 
    bot.mouseMove(x +120, y+120);  
    bot.mousePress(InputEvent.BUTTON1_MASK); 
    bot.mouseRelease(InputEvent.BUTTON1_MASK); 
} 

надеюсь, что это поможет вам.

+0

к сожалению не работает ..... – Zain

+0

он отлично работает в моей машине .... pls дают информацию об ошибке – noor

+0

нет ошибки, и объект в не перемещение на 2-ое место объекта (означает, что A не перетаскивается на сторону B) – Zain

 Смежные вопросы

  • Нет связанных вопросов^_^