首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击WebGL (画布)中的选择坐标

点击WebGL (画布)中的选择坐标
EN

Stack Overflow用户
提问于 2018-08-28 16:37:49
回答 2查看 1K关注 0票数 1

我正在使用一个嵌入WebGL播放器的应用程序。

代码语言:javascript
复制
<body>
  <div class="application_layout">
    <header class="header clearfix">
      <nav class="header__left">
        <ul class="clearfix">
          <li class="menu__item menu__item--back">
            <a title="Back" class="link--back"></a>
          </li>
        </ul>
      </nav>
    </header>
    <div id="unity-webgl">
      <canvas style="cursor: default;" id="#canvas" width="1596" height="386"></canvas>
    </div>
  </div>
</body>

在使用RSpeccapybara的验收测试中,我试图模拟页面上的单击操作。

做的时候

代码语言:javascript
复制
execute_script("$(document.elementFromPoint(100, 20).click();")
# the position of the "Back" link

显然,一切都很好,脚本正在正确地单击"Back“链接。

但是,当尝试单击WebGL div中的任何区域时,请使用以下内容

代码语言:javascript
复制
var event = $.Event('click');
event.clientX = 200;
event.clientY = 100;
$('#canvas).trigger(event);

什么都没发生。

有任何方法来模拟鼠标点击WebGL div吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-28 17:34:52

你不应该试图模拟点击-你应该告诉Capybara做点击。如果需要对单击进行偏移,请使用click方法可用的选项。

代码语言:javascript
复制
element.click(x: 200, y: 100)

每当您使用JS在页面上触发事件时,您的测试就变得不那么有用/有效了,因为它允许用户做一些永远做不到的事情。

票数 2
EN

Stack Overflow用户

发布于 2019-02-08 17:24:05

另一个选项是使用rumouse gem。但是它不适用于无头,它需要窗口焦点和坐标是系统范围的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52062667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档