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