我一直试图从一个div(下面)
拖动一个元素<article class="media-gallery-item mg-html5">
<div class="mg-thumbnail" draggable="true" data-popcorn-plugin-type="sequencer" data-butter-draggable-type="plugin" data-butter-popcorn-options="{"source":"some_url","thumbnail":"some_url","start":0,"end":10,"from":0,"title":"bdgxkvtbs1.mp4","duration":2.83,"hidden":false,"asset_id":"1457","asset_width":"1280","asset_height":"720","asset_name":"video1.MOV","soundeffects":0}" >
<img src="some_url">
进入另一个div
<div class="butter-track" data-butter-track-id="1"></div>
用于放置我们需要的元素也可以使用像素值。
我尝试了下面的代码,但它没有将元素拖到div
中。我甚至看不到它在运行时拖动元素。
WebElement src = driver.findElementBy(By.xpath(".//div[@class='mg-thumbnail']"));
WebElement dest = driver.findElementBy(By.xpath(".//div[@class='butter-track']"));
Actions act = new Action();
act.clickAndHold(src).moveByoffset(src, 0,300).release().build().perform();
我也尝试过使用:
act.clickAndHold(src).dragAndDrop(src, dest).build().perform();
但没有人放弃这个元素。 (我也看不到在运行时拖动元素)
注意 - 代码适用于我之前使用的拖放操作,但在这里我将元素从1 div拖到另一个div,这可能会产生问题。
答案 0 :(得分:0)
@pranky301:这是您代码中的轻微修改。 请尝试这个,让我知道会发生什么
WebElement src = driver.findElementBy(By.xpath(".//div[@class='mg-thumbnail']"));
WebElement dest = driver.findElementBy(By.xpath(".//div[@class='butter-track']"));
Actions builder = new Actions(driver);
Action drag = builder.clickAndHold(Src).moveToElement(dest).release(dest).build( );
drag.perform( );
答案 1 :(得分:0)
将项目从一个元素拖放到另一个元素时,这两种方法以前对我有用:
WebElement src = driver.findElement(...);
WebElement dest = driver.findElement(...);
new Actions(driver).dragAndDrop(src, dest).build().perform();
或坐标:
new Actions(driver).dragAndDropBy(src, "xOffset", "yOffset").build().perform();