Selenium 操作canvas画布 应用Actions类
当遇到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();
}

浙公网安备 33010602011771号