为了改变元素在页面中的位置,需要拖拽元素到指定位置
记录一下
1、先定位到要拖拽的元素
Actions action = new Actions(driver);
WebElement el = driver.findElement(By.xpath("xxxx"));
//使用action的dragAndDropBy方法,action.dragAndDropBy(source,xOffset,yOffset),其中x:左负右正,y:上负下正
action.dragAndDropBy(el,0,-100).perform();//将el元素向上拖动100个像素点
有的时候需要增加等待才能生效
实际使用过程中碰到一个问题,使用上述方法拖动元素不生效,也不会报错,最后经过反复检查,发现拖拽元素时,被拖拽的元素的class属性里有一个draggable=false的属性,哭!
testNG中拿到元素的坐标位置
driver.findElement(By.xpath("xxx")).getLocation().getX();
driver.findElement(By.xpath("xxxx")).getLocation().getY();