当前位置: 首页 > 面试题库 >

如何在JavaScript中双击鼠标?

齐俊贤
2023-03-14
问题内容

我需要一个JavaScript代码来单独使鼠标双击。我将在Java代码中使用它。这是一个用于测试目的的selenium项目,但是没有任何方法可以使鼠标双击selenium,因此我想使用javaScript在我的java代码中执行此操作。你有什么主意吗?

他们说我应该使用JavaScript双击鼠标,但是怎么做?


问题答案:

为了使 Mouse Double Click 您可以编写脚本并将其传递给executeScript()方法,如下所示:

  • 剧本:

    String jsDoubleClick =
    

    “var target = arguments[0]; ” +
    “var offsetX = arguments[1]; ” +
    “var offsetY = arguments[2]; ” +
    “var rect = target.getBoundingClientRect(); ” +
    “var cx = rect.left + (offsetX || (rect.width / 2)); ” +
    “var cy = rect.top + (offsetY || (rect.height / 2)); ” +
    ” ” +
    “emit(‘mousedown’, {clientX: cx, clientY: cy, buttons: 1}); ” +
    “emit(‘mouseup’, {clientX: cx, clientY: cy}); ” +
    “emit(‘mousedown’, {clientX: cx, clientY: cy, buttons: 1}); ” +
    “emit(‘mouseup’, {clientX: cx, clientY: cy}); ” +
    “emit(‘click’, {clientX: cx, clientY: cy, detail: 2}); ” +
    ” ” +
    “function emit(name, init) { ” +
    “target.dispatchEvent(new MouseEvent(name, init)); ” +
    “} ” ;


  • executeScript()从中调用脚本@Test

    new Actions(driver).moveToElement(myElem, posX, posY).perform();
    

    ((JavascriptExecutor)driver).executeScript(jsDoubleClick, myElem, posX, posY);



 类似资料:
  • 问题内容: 默认情况下,事件一键启动。我有一个,但我想从双击开始。可能吗? 问题答案: 我相信您可以从MouseEvent中提取点击计数(假设其名为e) 试试这个

  • 问题内容: 我知道这种方法。但是,我想知道如何模拟事件。 我在堆栈溢出的某个地方找到了此代码,但我不知道如何使用它:( 如何使用JavaScript触发鼠标单击事件? 问题答案: (修改后的版本使之无需prototype.js即可工作) 您可以像这样使用它: 请注意,作为第三个参数,您可以传入’options’。您未指定的选项取自defaultOptions(请参见脚本底部)。因此,例如,如果您想

  • 所以我开始在我的应用程序中为不同的功能设置键,我想知道是否有一种方法可以设置鼠标左键或右键来执行某些操作?我在keycode.java中找不到任何鼠标事件,我不知道如何应用它。 下面是我的代码: 我要完成的是使右键点击你的鼠标按钮停止移动,左键点击再次开始。我该怎么做?谢谢你。

  • 考虑一个,下面是它的 双击后,我得到了以下令人费解的结果 而不是预期的 显然,在双击过程中,在所述双击之前单击一次。为什么会这样? rough.java Env: openjdk 15.0.2 2021-01-19 openjdk运行时环境(构建15.0.2 7-27) openjdk 64位服务器虚拟机(构建15.0.2 7-27,混合模式,共享) Windows 10

  • 有没有办法用java捕获双击鼠标事件后的图像?我只能在鼠标释放双击事件时捕获图像。但捕获图像不是双击事件后的图像。

  • 问题内容: 将click事件处理程序添加到canvas元素(将返回click的x和y坐标)(相对于canvas元素)的最简单方法是什么? 不需要旧版浏览器兼容性,Safari,Opera和Firefox都可以。 问题答案: 这个答案很老了,它使用检查不再需要的旧浏览器,因为和属性在所有当前浏览器中都有效。您可能想查看PatriquesAnswer,以获得更简单,最新的解决方案。 最初的答案: 正如