javascript - 如何在canvas和kineticjs中使用selenium进行拖放

标签 javascript html selenium kineticjs

我正在使用 selenium web 驱动程序来测试我的网站,问题是我有一个 Canvas 元素,我必须在其中拖动一个位于 (0,0) 到 (10,0) 的元素。最主要的是在 Canvas 中没有元素会有 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();

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

最佳答案

我尝试过在 Canvas 上进行拖放操作。事实上,它是 Canvas 上的缩放,它对我有用

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

关于javascript - 如何在canvas和kineticjs中使用selenium进行拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26729653/

相关文章:

javascript - 如何使用 JavaScript 拆分此字符串?

html - CSS 网格动态行和列

python - 点击滑溜溜的 "ElementNotVisibleException"按钮selenium webdriver python

python - 下载 "keep/discard"文件时无法摆脱 ".eml"通知

javascript - 还有比 jQuery 内置的 XML 解析器更强大的吗?

javascript - 当 parent 改变时的 MutationObserver

javascript - Browserify 转换插件用于评估 IIFE 并在捆绑期间替换为其结果

javascript - 自定义弹出谷歌地图

html - 如何在父元素中将div对齐到底部

python - 如何使用 python 自动化处理弹出窗口