如何在画布和kineticjs中使用selenium拖放

时间:2014-11-04 07:20:24

标签: javascript html5 selenium kineticjs

我正在使用selenium web驱动程序来测试我的网站,事情是我有一个canvas元素,我必须将一个位于(0,0)的元素拖到(10,0)。主要的是在画布中没有元素会有id或类名。

我在线浏览,但大多数人都找到了答案

    Actions builder= new Actions(driver);
    WebElement canvas = driver.findElement(By.className("kineticjs-content"));
    builder.build();
    builder.moveToElement(canvas, 0, 0)
    .clickAndHold()
    .moveByOffset(0, 20)
    .release();
    builder.perform();

所以这里主要的问题是我们没有画布中元素的id和类名。所以任何人都可以帮助我使用其(x,y)坐标拖放特定元素。

1 个答案:

答案 0 :(得分:0)

我尝试过在画布上进行拖放操作。事实上,它在画布上放大了它对我有用

Actions slide = new Actions(driver);
WebElement text=obj.findElementByXpath(".//[@id='chartContainer']/div/canvas[2]");
        slide.build();
        text.click();
        slide.dragAndDropBy(text, 100, 4500);
        slide.perform();
        slide.release();
        }