当前位置:网站首页 > R语言数据分析 > 正文

XMouseButtonControl模拟按键(mouse control)



JavaScript实现按键精灵》中曾记录了几个事件对象,本文将会对它们进行一次实战,要完成的动作包括滚动、点击和翻页。

  滚动是通过修改容器元素的scrollTop属性实现的,期间会进行一系列的计算,而每次滚动都会包含一个个小的偏移动作,为了让这些动作能有序进行,自定义了一个Promise,如下所示。

  为了让滚动表现的更加顺滑,采用了requestAnimationFrame()方法,滚动的方向分为三种,分别是向上、向下或待机,如下所示。

  滚动的容器元素多变,可能是body,也可能是根元素或者是其它元素,具体得视页面而定,示例页面采用的是根元素,如下所示。

  等到的效果如下图所示。

在javascript中自动单击按钮_触屏

  虽然完成了自动滚动,但当前的代码无法精度控制,例如难以配置成第几秒向上或向下滚动,或者指定滚动到真实用户会停留的位置的时间。

触屏touch事件记录》中的记录。

  虽然完成了自动点击,但还不够灵活。当要触发的动作不是由指定的元素触发的时,这段脚本就起不了作用,并且手机屏幕尺寸众多,难以精确的在某一指定区域内点击。

  由于很依赖事件类型,因此当绑定的动作不在该事件中时,代码也会失效。如果要触发页面监测的请求,那么不得不先去翻源码,搜寻触发事件。

触屏touch事件记录》中的记录。

  得到的效果如下图所示。

在javascript中自动单击按钮_在javascript中自动单击按钮_02

  示例中使用的是swiper触屏滑动插件,当换成其他插件时,容器就需要跟着改变。

  上述所有自动化操作都是基于DOM结构完成的,水能载舟亦能覆舟,无法跳出DOM的限制,就会导致一系列的问题,例如针对不同页面的结构要做单独的分析、动作精度难以控制、真实的用户轨迹难以模拟、代码不够灵活难以复用。

  在实际情况中,还有很多复杂的动作(例如答题、填表单等),光靠上述这点代码是远远不够的,目前还做不到像按键精灵那样在屏幕上录制行为,这么简洁。

demo代码已上传至GitHub:

https://github.com/pwstrick/auto

到此这篇XMouseButtonControl模拟按键(mouse control)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • microsoft edge修复(新版microsoft edge修复)2025-08-06 15:09:08
  • swagger是啥(swagg什么意思)2025-08-06 15:09:08
  • offering praise翻译(offer to help翻译)2025-08-06 15:09:08
  • miracl密码库(miracl库使用手册)2025-08-06 15:09:08
  • pointer network原理和代码(pointer to non-pointer)2025-08-06 15:09:08
  • belowprep什么意思(below 是什么意思)2025-08-06 15:09:08
  • raise up是什么意思(rise up的意思)2025-08-06 15:09:08
  • ewma模型和garch(ewma模型的金融含义)2025-08-06 15:09:08
  • prdlms怎么读(prblms怎么读)2025-08-06 15:09:08
  • grid布局属性(grid布局居中)2025-08-06 15:09:08
  • 全屏图片