【发布时间】:2018-03-20 18:03:45
【问题描述】:
拖放在 selenium 3.8 上不起作用。
Here is the JS code for the element
这是我尝试过的。但它只是选择元素。没有发生保持和下降。
WebElement source = driver.findElement(By.xpath("//tbody[@class ='lt-body']//tr[@data-test-id='table-row-id-20']//td[contains(@id,'ember')]//div[contains(@id,'ember')]//*[name()='svg']//*[name()='ellipse']"));
WebElement destination = driver.findElement(By.xpath("//tbody[@class ='lt-body']//tr[@data-test-id='table-row-id-3']//td[contains(@id,'ember')]//div[contains(@id,'ember')]//*[name()='svg']//*[name()='ellipse']"));
Actions builder = new Actions(driver);
int x2 =destination.getLocation().getX();
int y2 = destination.getLocation().getY();
builder.clickAndHold(source);
builder.moveByOffset(x2,y2);
builder.moveToElement(destination);
builder.release();
builder.perform();
这个也试过了。
builder.clickAndHold(source).moveByOffset(x2,y2).moveToElement(destination).release().build().perform();
也尝试使用机器人。每次我只能看到源元素和目标元素都被选中。但不是拖放。
还尝试了 ActionsChain 的 dragAndDrop。那也没用。
【问题讨论】:
-
'drag and drop' 应该有自己的动作链方法。我只会使用它,而不是尝试通过组合其他操作来获得相同的行为。见the reference
-
请阅读为什么是screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。
-
@sytech 也尝试过。不工作。它只是选择源和目标。但拖放没有发生
-
“尝试使用机器人”是什么意思?您是指 robotsframework.org 上提供的工具,还是其他地方?
-
你可以试试my solution
标签: java selenium selenium-webdriver drag-and-drop