【发布时间】:2020-05-03 16:28:10
【问题描述】:
我尝试通过以下所有方式实现 html 元素的拖放功能。但它们都不适合我。 这是具有最新 specflow 版本的 .net 框架项目。
一种方式
var actions = new Actions(Context.WebDriver);
actions.DragAndDrop(elementDrag, destination).Release(elementDrag).Build().Perform();
2路
actions.MoveToElement(elementDrag, 10, 10, MoveToElementOffsetOrigin.Center)
.ClickAndHold(elementDrag)
.MoveByOffset(5, 5)
.MoveToElement(destination)
.Release(elementDrag)
.Build()
.Perform();
三路
actions.MoveToElement(elementDrag, 10, 10, MoveToElementOffsetOrigin.Center)
.ClickAndHold()
.MoveByOffset(50, -300)
.Release(elementDrag)
.Build()
.Perform();
4路
actions.ClickAndHold(elementDrag).Build().Perform();
Thread.Sleep(3000);
actions.MoveToElement(destination).Build().Perform();
actions.Release(destination).Build().Perform();
我认为拖放是 selenium 的一个已知问题,它可以通过使用 javasript 实现来解决。不知道那是什么。
谁能给我一个解决方案。
【问题讨论】:
-
@GregBurghardt 我尝试了这两种方式。 JavaScript 函数正在执行。但是拖放不起作用。
-
您使用的是哪种浏览器、浏览器版本、网络驱动程序和网络驱动程序版本?
-
Chrome浏览器最新版、Specflow最新版、Chrome驱动最新版。这是一个 .net 框架项目。
标签: c# selenium selenium-webdriver bdd specflow