我想将元素从一个地方拖放到另一个地方。所以,我使用动作类来实现我的功能。动作班级与硒不兼容3.5.3
问题是我的代码执行成功,没有显示任何错误,但功能目标没有实现。
我已经在firefox和chrome浏览器中尝试了相同的代码,但是同样的问题在两个浏览器中都得到了复制。
以下是网站url。
我试过代码:
driver.get("http://www.seleniumeasy.com/test/drag-and-drop-demo.html");
driver.manage().window().maximize();
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 1')]"));
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 2')]"));
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 3')]"));
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 4')]"));
WebElement to = driver.findElement(By.xpath("//div[@class='w50 moveleft']//div[@id='mydropzone']"));
String[] array_drag = new String[] {"Draggable 1", "Draggable 2", "Draggable 3", "Draggable 4"};
for(int i=0; i<array_drag.length; i++)
{
WebElement from = driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), '"+array_drag[i]+"')]"));
Actions act = new Actions(driver);
act.clickAndHold(from).build().perform();
Thread.sleep(2500);
act.clickAndHold().moveToElement(to).release(to).build().perform();
Thread.sleep(2500);
}
我试试这个答案很好,但复制了同样的问题。
Actions act = new Actions(driver);
act.moveToElement(from).moveToElement(to).build().perform();
您也可以看到下面附加的图像,代码成功执行,没有显示任何错误。
谁能帮助我解决这个问题?
是直接dragAndDrop在行动不工作? –
@murali硒,是的,它也没有工作。 –
该网站似乎没有按预期工作。我甚至无法手动拖放。是网站的问题,而不是你的代码? –