java - dragAndDropBy()、dragAndDrop()、moveToElement 等的行为非常奇怪
问题描述
不确定这是否是由于应用程序即时自动化设置了其 UI,但我试图做的是打开一个包含几行表格的侧抽屉。我需要将表格行拖到另一个特定区域并将其放在那里以移动它。所以这里有一个界面是什么样子的想法:
注意:所有空格都不是删除表格行的有效区域,表格行只能在非常特定的区域中删除,当表格行位于其正上方时,该区域变得可见。我试图将右侧抽屉上的物品拖到左侧。
当我尝试使用 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 坐标处(但至少它在移动)。
我希望第二个坐标日志已经移动到我输入的指定偏移量,但是到目前为止我尝试过的所有方法都得到了类似的行为。请告知帮助将不胜感激。
解决方案
使用直接 dargAndDrop 方法,如下所示:
Actions actions = new Actions(driver);
actions.dragAndDropBy(productArrangement,-408, 308).perform();
推荐阅读
- java - 使用 Spring restTemplate.exchange 时如何设置 HTTP 协议版本?
- reactjs - React:TypeError:无法将 null 转换为对象
- mysql - MySQL触发器跨表匹配字段
- c# - C# 插值字符串中的变量求值顺序
- haskell - 使用 Servant 根据 `Maybe` 的内容回答 200 或 404 的请求
- visual-studio-code - 创建兼容 ssh 的 vscode 扩展
- jquery - 按钮只允许点击一次
- python - 一个视图中的 Django 多个 GET 请求
- c - 可以用光线追踪器渲染莫比乌斯带吗?
- signals - Simulink,生成多项式输入信号