Вы также можете использовать JavaScript: -
Поскольку в HTML5 Action draganddrop
функция не работает, я использую javascript, и она прекрасно работает для меня: -
WebElement From = driver.findElement(By.id("sourceImage"));
WebElement To = driver.findElement(By.id("targetDiv"));
//HTML 5
final String java_script =
"var src=arguments[0],tgt=arguments[1];var dataTransfer={dropEffe" +
"ct:'',effectAllowed:'all',files:[],items:{},types:[],setData:fun" +
"ction(format,data){this.items[format]=data;this.types.append(for" +
"mat);},getData:function(format){return this.items[format];},clea" +
"rData:function(format){}};var emit=function(event,target){var ev" +
"t=document.createEvent('Event');evt.initEvent(event,true,false);" +
"evt.dataTransfer=dataTransfer;target.dispatchEvent(evt);};emit('" +
"dragstart',src);emit('dragenter',tgt);emit('dragover',tgt);emit(" +
"'drop',tgt);emit('dragend',src);";
((JavascriptExecutor)driver).executeScript(java_script, From, To);
И использование Actions
код ниже: -
WebElement From = driver.findElement(By.id("sourceImage"));
WebElement To = driver.findElement(By.id("targetDiv"));
Actions builder = new Actions(driver);
Action dragAnddrop = builder.clickAndHold(From)
.moveToElement(To)
.release(To)
.build();
dragAnddrop.perform();
Используйте Firefox IDE для поиска xpath.Для получения дополнительной информации перейдите по этой ссылке.