【问题标题】:chrome extension force mouse movechrome 扩展力鼠标移动
【发布时间】:2012-06-14 03:46:43
【问题描述】:

我正在编写一个 chrome 扩展程序来记录您的操作,例如(鼠标单击、键盘按键)。扩展的想法是帮助我和我的同事减少我们基于 Web 的项目的无聊测试。我让它记录事件并将其作为 mysql 存储在开发服务器上,以便我可以使用或共享给他们。但问题是重播保存的操作。

如果有办法强制鼠标移动,鼠标点击事件。可以用flash、java或类似的东西来完成吗?

附言。该项目是 Extjs,但我想让该扩展对使用其他框架的开发人员有用并发布。

【问题讨论】:

  • 还有,你的扩展有进展吗?
  • 它有点工作,但后来我放弃了这个想法。最后我们最好使用nightwatchjs.org 之类的工具。

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

考虑为此使用Selenium。它支持多种语言,您可以使用它编写整个测试脚本。例如,您可以将其设置为单击元素、等待某事发生或填充文本框。

【讨论】:

    【解决方案2】:

    想象一下一些随机网站控制你的鼠标......不酷,是吗? (这就是为什么你不能通过 javascript 强制 mousemove)

    但是,您可以触发对元素的点击。为此,您需要保存事件(鼠标悬停|out/(dbl)click/whatever)和相应的元素(在事件函数中:this)。这应该足以模拟工作流程。

    jQuery-示例:

    $('#item').click();
    $('#item').trigger('click');
    

    原版javascript:

    document.querySelector("#item").click();
    

    【讨论】:

    • 如果需要模拟鼠标移动事件可以触发到:stackoverflow.com/questions/911586/…
    • 你是对的,但问题是 extjs 例如动态创建 ID 并且无法将操作保存为“此 id -> 单击”。而且我认为 chrome 允许从扩展程序控制鼠标(因为用户/开发人员允许安装扩展程序)。
    • @mraiur 可能是 chrome 扩展允许控制鼠标,尽管我非常怀疑这一点。但是,由于事件具有附加到它们的坐标,因此您可以尝试定位位于该位置的元素并在确定后触发单击。但是我看到这种方法会出现很多潜在的问题。
    猜你喜欢
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    相关资源
    最近更新 更多