2013-04-18 3 views
0

Я пытаюсь выполнить функцию dragAndDrop. Я пробовал с dragAndDrop и clickAndHold также. Я могу перетащить объект в пункт назначения, но после этого объект возвращается к исходной позиции. Когда я попытался с clickAndHold объект был перетащен в место назначения, когда я выпустил clickAndHold, объект снова вернулся в исходное местоположение. Я пробовал и с кодом ниже.Невозможно выполнить перетаскивание с использованием селена WebDriver

builder.clickAndHold(source).moveToElement(destination).release(destination).build().perform(); 

builder.dragAndDrop(source, destination).build().perform(); 

Как я могу справиться с этой проблемой ???

+0

Вы можете указать код источника и тип назначения? – e1che

+0

У меня была та же проблема. После обширных исследований SO и сети, я думаю, что это ошибка Selenium. Я подал здесь отчет об ошибке: https://code.google.com/p/selenium/issues/detail?id=6315&thanks=6315&ts=1380031813 –

ответ

0

У меня есть один и тот же порядок issue.In, чтобы дать хорошее шоу, я так:

builder.clickAndHold(source).build().perform(); 
for(int i=0;i<size;i++) { 
    builder.moveToElement(source,xoffset*i,yoffset).build().perform();//builder.moveToElement(destination,xoffset,yoffset*i).build().perform(); 
} 
builder.release(target).build.perform(); 

Надежда может помочь вам.

0

Я столкнулся с проблемой с перетаскиванием тоже. Работало иногда и не удавалось в основном. Вы можете использовать следующий синтаксис:

Actions builder = new Actions(driver); 
Action dragAndDrop = builder.clickAndHold(source).moveToElement(destination).release(hiddenplatform).build(); 
dragAndDrop.perform(); 

Но здесь есть улов. Вы видите, что нам нужно выпустить на скрытую платформу. Когда мы берем xpath для пункта назначения; и мы расширяем, мы находим id с value=hidden.

Возьмите этот идентификатор и создайте WebElement и освободите его на этой платформе. Работает отлично для меня сейчас. :)

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