我的要求是简单的拖放。我想找到相对于拖动元素位置的放置位置的偏移值,以便它适用于所有显示分辨率。 我已经在drop元素上尝试了getLocation()函数,但是当我运行脚本时它没有移动到准确的位置。可能是因为我的元素在多个iframe中。 有没有办法让我捕获相对于它所在的最后一个iframe的位置,或者从我的拖动元素中捕获偏移值?
编辑: 我的元素是一个画布,我必须确保它完全放在中心。我用下面的代码找到了中心。如果我错了,请纠正我。该元素不会掉到中心或附近的任何地方。我的元素都在多个iframe中。这可能是原因吗?
WebElement dragElement= workflowModeler.iconTask;
WebElement toElement = workflowModeler.workflowCanvas;
int offsetX = (toElement.getLocation().x + (toElement.getSize().width / 2));
int offsetY = (toElement.getLocation().y + (toElement.getSize().height / 2));
var Actions builder = new Actions(driver)
var Action dragAndMove = builder.clickAndHold(iconTaskElement).moveToElement(toElement).build()
var Action moveDown = builder.clickAndHold(iconTaskElement).moveByOffset(offsetX , offsetY).build()
var Action drop = builder.release().build()
dragAndMove.perform()
moveDown.perform()
drop.perform()