python - 我可以使用 Selenium Python 在 Canvas 上绘图吗?

标签 python selenium canvas selenium-webdriver python-unittest

我正在尝试为 HTML5 Canvas 应用程序运行自动化测试和基准测试。我已经使用 python-unittest 和 ChromeDriver 设置了 Selenium(尽管我对替代方案持开放态度)。

Canvas 应用程序是一个白板,通过单击鼠标并在 Canvas 上四处拖动来绘制线条。如何使用 Selenium 自动绘制简单的形状?我浏览了 python-selenium API,唯一的鼠标移动测试选项是通过 ActionChains,但这些都是根据元素的 id 将鼠标移动到元素>类。我还没有看到根据 Canvas 上的坐标自动移动鼠标的方法。

有没有办法实现在 Canvas 上绘图的自动化测试?

最佳答案

还有一个 click_and_hold 函数。这对我有用:

from selenium.webdriver.common.action_chains import ActionChains

canvas = self.driver.find_element_by_id("myCanvas")
drawing = ActionChains(self.driver)\
    .click_and_hold(canvas)\
    .move_by_offset(-10, -15)\
    .move_by_offset(20, 32)\
    .move_by_offset(10, 25)\
    .release()
drawing.perform()

(其中 self.driver 是我的 Selenium webdriver。)

关于python - 我可以使用 Selenium Python 在 Canvas 上绘图吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26637524/

相关文章:

python - 使用 Python 网页表格中的最后一个超链接

javascript - 如何从轮子中获取 Canvas 的值(value)

python - 保存在django模型之前的数据处理

java - VirtualEnv Python 在 MacOS 中作为 Java Python 解释器

html - 如何检查是否使用 Selenium 触发了 HTML5 验证?

javascript - 使用 Html5 API,如何扭曲图像(更改左侧或右侧高度)?

javascript - 在 Canvas 中创建随机形状

python - Hadoop与Hadoop上的图形路径

python - Django obj_create 在我的表单验证之前运行

python - NoSuchElementException : no such element: Unable to locate element: {"method" :"name" ,"selector" :"btnk"}