首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在同一个目标中使用拖放重新排序WebElement

在同一个目标中使用拖放重新排序WebElement
EN

Stack Overflow用户
提问于 2018-09-10 17:02:48
回答 2查看 268关注 0票数 1

场景:通过拖放执行元素重新排序。

多个元素(<tr> -- draggable)存在于同一个<table>下,用于重新排序,我需要将第二个元素table tr:nth-child(2)拖放到第一个tr上。

我不能这么做。

到目前为止编写的代码:

代码语言:javascript
运行
复制
@FindBy(id = "#GridView_pptasks")
protected WebElement reorderDestination;

@FindBy(css = "#GridView_pptasks > tbody > tr:nth-child(2)")
protected WebElement reorderElement;

-------------------------------------------------------------------

Actions act = new Actions(driver);
act.dragAndDrop(reorderElement, reorderDestination).build().perform();
EN

回答 2

Stack Overflow用户

发布于 2018-09-11 05:22:14

使用以下代码:

代码语言:javascript
运行
复制
Actions action= new Actions(driver);
action.clickAndHold(reorderElement).build().perform();
Thread.sleep(2000);
action.clickAndHold().moveToElement(reorderDestination).release(reorderDestination).build().perform();
票数 0
EN

Stack Overflow用户

发布于 2018-09-11 12:15:19

如果这是用HTML 5拖放实现的,那么您将无法使用Selenium实现自动化。Selenium不支持这一点,这是众所周知的问题。

但是,您可以使用Javascript执行来解决这个问题;http://elementalselenium.com/tips/39-drag-and-drop

通常,在使用Selenium测试应用程序时,我非常反对Javascript执行,但在本例中没有其他选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52262429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档