当遇到When using the W3C Action commands, offsets are from the center of element......错误的时候,说明鼠标坐标抓错了,按提示说明,(0,0)坐标在微软paint上是左上角,但在这里坐标轴在中心。我是用截屏之后用paint打开,用最大坐标除以2算出中心坐标,再用目标坐标(根据需求而来)减去中心坐标,就是Actions中的使用的坐标了。
1. 从其实坐标选中并拖拽到目标坐标
注意:用clickAndHold()时候必须同时应用release()才能完成单击动作
public void canvas_move(int xStart, int yStart, int xOffset, int yOffset){ Actions actions=new Actions(driver); actions.moveToElement(element,xStart,yStart).clickAndHold().moveByOffset(xOffset,yOffset).release().build().perform(); }
2. 鼠标左键单击
注意:用clickAndHold()时候必须同时应用release()才能完成单击动作
public void canvas_click(int x, int y){ Actions actions=new Actions(driver); //actions.moveToElement(element,x,y).clickAndHold().release().perform();//same as below actions.moveToElement(element,x,y).click().perform(); }
Selenium 操作canvas画布 应用Actions类
原文:https://www.cnblogs.com/qiyanse/p/14511100.html