如何使用Selenium java查找元素相对于另一个元素的偏移量

时间:2017-08-02 11:35:01

标签: java selenium automation

我的要求是简单的拖放。我想找到相对于拖动元素位置的放置位置的偏移值,以便它适用于所有显示分辨率。 我已经在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()

0 个答案:

没有答案