使用夜表拖放

时间:2019-04-01 08:00:39

标签: node.js selenium nightwatch.js

我正在尝试使用含硒的夜视仪将元素拖放到特定位置,但是当我将多个元素拖放到同一个可拖放对象时,它就是重叠的。

var dragAndDrop = require('html-dnd').codeForSelectors;  
this.dragModule = function (draggable, droppable, posX, posY) {
    browser.pause(3000);
    var dndSimulateConfig = { dropOffset: [posX, posY] };
    browser
      .execute(dragAndDrop, [draggable, droppable, dndSimulateConfig])
      .pause(2000);
  };

它不应与我想要的特殊坐标重叠

2 个答案:

答案 0 :(得分:0)

  

locator1:可以是您想要的第一个元素的xpath(或cssSelector)   拖动locator2:可以在xpath(或cssSelector)中找到   放下

     

这是久经考验的代码,可能是您需要少量修改但   对我来说很好。

return browser
    .useXpath()
    .moveToElement(locator1, XOffset1, Yoffset1)
    .pause(100) // if you want to give wait
    .mouseButtonDown(0) // press click, down
    .moveToElement(locator2, XOffset2, Yoffset2) // move to element
    .mouseButtonUp(0); // press release , up

read here docs- http://nightwatchjs.org/api and search for "moveToElement"

how to call:

myFunction moveToSpecificElement(locator, x, y) {
  return browser
  .moveToElement(locator, x, y, function (result) {
    this.assert.equal("your assertion goes here");
  });
}

答案 1 :(得分:0)

我正在使用html-dnd版本1.2.0。因此拖放是重叠的。使用任何旧版本的“ html-dnd”都可以。

相关问题