当前位置: 首页 > 知识库问答 >
问题:

如何使用javascript拖放并保持元素一段时间

冯文彬
2023-03-14

我有一个salesforce应用程序,我正在使用selenium实现自动化,我正在实现用于拖放的javascript。问题是,当我将src元素放到目标上时,它会被放到其他地方,我们需要手动将元素放到目标上几秒钟,以便将其固定到目标上。我们有没有一个代码可以让元素在目标上停留几秒钟。

下面是我的拖放代码,如何在tgt上保存src元素

         final String java_script =
                   var src=arguments[0],tgt=arguments[1];var dataTransfer={dropEffe" +
                  "ct:'',effectAllowed:'all',files:[],items:{},types:[],setData:fun" +
                  "ction(format,data){this.items[format]=data;this.types.append(for" +
                  "mat);},getData:function(format){return this.items[format];},clea" +
                  "rData:function(format){}};var emit=function(event,target){var ev" +
                "t=document.createEvent('Event');evt.initEvent(event,true,false);" +
                "evt.dataTransfer=dataTransfer;target.dispatchEvent(evt);};emit('" +
                    "dragstart',src);emit('dragenter',tgt);emit('dragover',tgt);emit(" +
                   "'drop',tgt); emit('dragend',src); emit('dragleave' , src) ";

                     ((JavascriptExecutor)driver).executeScript(java_script, src, tgt);

谢谢!

共有1个答案

臧兴学
2023-03-14

尝试使用机器人框架进行拖放。

https://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html

https://www.guru99.com/using-robot-api-selenium.html

 类似资料:
  • 问题内容: 我针对其运行的网站位于内部服务器上,因此无法提供链接,但是我可以发布一些单击“显示元素”时显示的相关代码。 有五个与此相关的元素: 组1 学生 移动1 组2 移动2 此页面显示学生组,并允许用户在组之间拖动学生。每个组都有一个移动元素。棘手的部分是,仅当用户将学生元素拖到该组上时,任何给定组的“移动”按钮才会显示,而该学生并非来自该组。 目的是将学生转移到新的小组中,然后再移回原来的小

  • 我正在玩cdk拖放功能,因为我需要它来创建一个用于工作的POC。我从文档网站开始使用这段代码。我看到每次我把一个元素拖到它的列表之外时,这个元素都是隐藏的,直到我把它放到同一个列表或另一个列表中。 如果我错了,请告诉我,但是拖动的元素似乎不是列表项的副本,而是元素本身。 总之,我希望列表在拖动其中一个元素时不要更改其布局。 长话短说: 我在cdk文档中没有找到任何这样做的内容。

  • 我试图使用Selenium的Action类将JQuery嵌套可排序列表中的源元素拖放到另一个元素。我使用了标准的dragAndDrop方法,并将其分解为clickAndHold、moveToElement和release,但这两种方法都不适用。我甚至尝试使用源元素内部的子元素来拖动,但结果是一样的。 当我运行脚本时,测试返回为已通过,因此我知道正在找到元素,并且选择器有效。Selenium认为拖放

  • 我正在使用本机拖放html5 api开发拖放界面。我们已经在其他部分使用了jQuery拖动,但是它在这个特定部分的表现很差,所以我们使用原始的JavaScript。 本质上,标记看起来像这样... 我为“dragstart”创建一个addEventListener并运行以下函数 它将我的类完美地应用于原始元素,但我似乎不能移动原始元素。浏览器创建克隆/幽灵图像...我看到你可以创建自己的图像显示,

  • 我将为我的后期项目创建一个移动的圆圈,圆圈将继续移动,它的内部颜色将像颜色发射一样变化,变化的颜色将在5个级别中从小圆圈到大圆圈,所以如何保持每个颜色的变化保持一段时间,我希望这些代码与线程一起出现,所以我创建了两个线程,一个控制圆圈移动,另一个控制圆圈的内部颜色发射,这里是我的代码:

  • 编辑2:在仔细阅读了jquery-ui的源代码,并充分理解了其原理后,我制作出了能够符合我的需求的代码:能够在旋转后的父元素中使用jquery-ui的draggable功能以实现拖动子元素的效果。我希望能分享给大家,或许有其他人有着和我类似的需求,可以提供给您作为参考。 需要写在最前面强调的是,这个功能有一定的局限性,例如旋转的父元素和拖拽的子元素必须都是position:absolute,并且一