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();

    }
posted @ 2021-03-10 13:35  flying0dancing  阅读(454)  评论(0)    收藏  举报