Protractor 量角器:如何在不使用元素的情况下拖放?
通常,拖放操作使用两个元素完成 但是,如果我有一个动态网格,我想通过单击按住并拖动它然后释放来选择它的一部分,该怎么办呢。(类似于拖放)Protractor 量角器:如何在不使用元素的情况下拖放?,protractor,Protractor,通常,拖放操作使用两个元素完成 但是,如果我有一个动态网格,我想通过单击按住并拖动它然后释放来选择它的一部分,该怎么办呢。(类似于拖放) 我已经能够获得x和y坐标,但我不确定如何在没有元素的情况下使其工作。看起来需要元素。 使用元素(body)后,我能够进行拖放操作。var offsetx=dndoffset.x; var offsetx = dndoffset.x; var offsety = dndoffset.y; browser.waitForAngular(); this.getTar
我已经能够获得x和y坐标,但我不确定如何在没有元素的情况下使其工作。看起来需要元素。 使用元素(body)后,我能够进行拖放操作。
var offsetx=dndoffset.x;
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();
});
var offsety=dndoffset.y;
browser.waitForAngular();
this.getTargetIndex(,函数(targetIndex){
var targetElement=element.all(by.repeater()).get(targetIndex);
targetElement.getLocation().then(函数(位置){
offsetx=数学圆(offsetx+location.x);
browser.actions().mouseMove()
.mouseDown()
.mouseMove(targetElement)
.mouseMove(targetElement,{x:offsetx,y:offsety})
.mouseUp().perform();
});
browser.waitForAngular();
});
上面是我用来拖放的代码片段。DOM中总是有元素(即使是动态的)。你必须选对一个放在那里
由于我们有ng repeat,所以我们使用by.repeater()来动态定位元素