通常,拖放是使用2个元素完成的。
但是,如果我有一个动态网格,我想通过点击保持并拖动它然后释放来选择它的一部分。 (类似于拖放)
我已经能够获得x和y坐标,但我不知道如何在没有元素的情况下使其工作。
答案 0 :(得分:0)
看起来像是一个元素。 使用元素(正文)后,我能够进行拖放工作。
答案 1 :(得分:0)
var offsetx = dndoffset.x;
var offsety = dndoffset.y;
browser.waitForAngular();
this.getTargetIndex(<ObjectToBeDragged>,function (targetIndex) {
var targetElement = element.all(by.repeater(<ng-repeat value>)).get(targetIndex);
targetElement.getLocation().then(function (location) {
offsetx = Math.round(offsetx + location.x);
browser.actions().mouseMove(<ObjectToBeDragged>)
.mouseDown()
.mouseMove(targetElement)
.mouseMove(targetElement, {x: offsetx, y: offsety})
.mouseUp().perform();
});
browser.waitForAngular();
});
以上是我用来拖放的片段。你总是在DOM中有元素(即使它是动态的)。你必须选择正确的并将其放在那里。
由于我们有ng-repeat,我们使用by.repeater()动态定位元素。