Selenium:单击并按住该元素,然后滑动它

Selenium:单击并按住该元素,然后滑动它,selenium,selenium-chromedriver,Selenium,Selenium Chromedriver,在我的应用程序中,我有一个场景,需要在列表视图中滑动一个元素,以便向该项添加新条目。我必须使用Selenium和C#实现自动化。应用程序是使用离子和角度框架开发的 在Selenium中,可以选择单击并按住和按偏移量移动方法,但这些方法似乎都不起作用。同时,不会显示任何错误。请帮忙 到目前为止,我已经尝试的代码如下 动作拖动器=新动作(驱动程序) elementToSlide=driver.FindElement(By.XPath(“//ion item slide[1]”) dragger.Cl

在我的应用程序中,我有一个场景,需要在列表视图中滑动一个元素,以便向该项添加新条目。我必须使用Selenium和C#实现自动化。应用程序是使用离子和角度框架开发的

在Selenium中,可以选择
单击并按住
按偏移量移动
方法,但这些方法似乎都不起作用。同时,不会显示任何错误。请帮忙

到目前为止,我已经尝试的代码如下

动作拖动器=新动作(驱动程序)

elementToSlide=driver.FindElement(By.XPath(“//ion item slide[1]”)

dragger.ClickAndHold(elementToSlide.MoveByOffset(-47,0).Build().Perform()

附上图片以供参考。列表视图中的第一个元素是幻灯片


也许拖放命令可以解决您的问题,请这样尝试

IWebElement elementToSlide = driver.FindElement(By.XPath("//ion-item-slide[1]"))
Actions dragger = new Actions(driver);
dragger.DragAndDropToOffset(elementToSlide, -47, 0).Build().Perform();

我也有同样的问题,我写了这样的代码,它为我工作:

                Actions action = new Actions(driver);
                action.clickAndHold(elementToSlide);
                action.moveToElement(NextplaceElement).release();
                action.build().perform();

谢谢你的回答,事实上,我发现在ionic框架中,我们不应该使用ion项滑动元素来滑动,而应该使用下一个子项ion项。我使用了下面的代码

var slideableitm=driver.FindElement(By.XPath(“//离子项目滑动/离子项目”);

Actions dragger=新操作(驱动程序);

dragger.ClickAndHold(slideableitm)).MoveByOffset(-47,0).Build().Perform()

然后在滑动之后,我们需要单击一些元素的坐标来完成并释放幻灯片。它可以通过以下代码实现

var clickableItm=driver.FindElement(By.XPath(“/ion-item/ion-item/div[1]/div/ion-label/div/p[1]”)

ILocatable c=(ILocatable)clickableItm

RemoteWebDriver rd=(RemoteWebDriver)驱动程序

rd.Mouse.点击(c.坐标)


a、 单击并按住(e2)。暂停(2000)。移动到元素(e1)。释放()。构建()。执行()

不,这也不行。屏幕上没有发生任何事情,也没有显示任何错误。
    Actions a = new Actions(driver);