【问题标题】:How can I click on the canvas?我怎样才能点击画布?
【发布时间】:2023-01-18 22:20:47
【问题描述】:

我需要一些帮助来点击画布上的座位。我使用坐标来获取 x,y。看起来我找到了正确的位置,但是当我运行它时,我无法点击座位并进入下一步。

cy.get('#chart-canvas').then($canvas => {
    cy.wrap($canvas)
    .scrollIntoView()
    .click(180,270,{force: true})  //F1 Seat  
})

我抓住//canvas[@id='chart-canvas']

【问题讨论】:

    标签: testing canvas click cypress


    【解决方案1】:

    在单击或执行任何单击事件(mousedown、mouseup、click 等)之前,请尝试移动鼠标。

    我有同样的问题。所有点击均成功且坐标正确。它只是行不通。

    您的代码如下所示:

    // Move mouse to some random position
    cy.get('#chart-canvas').trigger('mousemove', 100, 100);
    
    // Click
    cy.get('#chart-canvas').click(180, 270, { force: true });
    

    在多个不同的画布项目上对此进行了测试。

    【讨论】:

    • 我认为 Cypress 鼠标移动对于 Canvas 来说太快了。因此,添加一些随机的鼠标移动应该允许画布“注册”位置并正常执行。
    猜你喜欢
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2022-01-10
    • 2019-06-10
    • 2017-08-20
    • 2021-02-02
    相关资源
    最近更新 更多