【发布时间】:2015-04-09 22:30:18
【问题描述】:
我正在尝试拖放一个元素,但无法在所需位置释放该元素。
问题是:我想将元素放在仅在运行时可见的占位符中(即:当我单击并按住元素并移动到目标元素时) 移动到目标元素后,占位符在我应该释放元素的位置被激活。
这是我的代码:(在 FirefoxDriver 初始化之后)
String sourceelement ="#ctl00_ctl44_g_0beb5998_7319_49ac_9956_28684e341659_dvCart img";
String destinationelement = "#dvZone_LeftColumn";
Actions builder = new Actions(driver);
builder.clickAndHold(driver.findElement(By.cssSelector(sourceelement)));
builder.moveToElement(driver.findElement(By.cssSelector(destinationelement)));
builder.perform();
Thread.sleep(250);
WebElement holder = driver.findElement(By.className("placeholder"));
builder.release(holder).perform();
这里是 HTML 源码 sn-p(释放元素部分):
“”在任何“”下被激活,具体取决于我在拖动后将该元素放在哪里。
问题:
1 - 在执行脚本时,如果我移动鼠标而不是元素被释放到占位符中,那么成功执行(但必须在那时移动鼠标以释放占位符中的元素,这不应该在自动化中完成)
2 - 如果我不移动鼠标,脚本会失败并显示“找不到带有 classname=placeholder 的元素”
请帮忙
提前致谢
【问题讨论】:
-
HTML sn-p :
标签: selenium-webdriver drag-and-drop automation