dragAndDropBy,dragAndDrop,moveToElement等行为非常奇怪

问题描述

不确定是否由于应用程序im自动化而设置了UI,但是Im试图做的是打开一个容纳几个表行的侧抽屉。我需要将表格行拖放到另一个特定区域中,然后将其移动到该区域。 因此,这里有一个关于界面外观的想法:

pic

注意:所有空白都不是删除表行的有效区域,只能将表行放在非常特定的区域中,当表行位于表行上方时,该特定区域才可见。 我试图将右侧抽屉中的项目拖到左侧。

当我尝试使用dragAndDropBy移动到相应的x和y偏移量时,它似乎没有移动到正确的位置。

我现在已经修改了我的代码,至少可以帮助我看看问题出在哪里,并且看来它没有移动到下面的代码中设置的x坐标上:

        Actions actions = new Actions(driver);      
        System.out.println(productArrangement.getLocation());
        actions.clickAndHold(productArrangement).moveByOffset(-408,308).perform();
        System.out.println(productArrangement.getLocation());
        Thread.sleep(4000);
        

你们可以看到,这时所有正在尝试做的事情就是查看我的元素也正在移动的位置,并记录该元素是否实际上正在朝着各自的方向移动,好像它没有在x坐标上移动并以错误的Y坐标移动(但至少是其移动方向)。

这是我的控制台

coordinates

我希望第二个坐标日志已移至我放入的指定偏移量,但是到目前为止,我尝试过的所有方法都表现出相似的行为。 请告知协助,将不胜感激。

解决方法

使用如下所示的直接dargAndDrop方法:

Actions actions = new Actions(driver);
actions.dragAndDropBy(productArrangement,-408,308).perform();