zoukankan      html  css  js  c++  java
  • xdotool模拟击键和鼠标移动

    最近双十一抢红包的活动比较火,我也就去玩了一下,在一个小活动里,需要不停的点击左箭头和右箭头,让红包不停的跑,但自己点的比较慢,老是出现下面的图片

    看到提示还有n多公里才跑完,感觉极度不爽,一怒之下,决定一定要跑过这个公里数,点的没那么快,就找个软件模拟去点击,于是就发现了 xdotool。

    先看下最终的成果,直接超过了40000公里~~(然并卵,还是没有中红包)

    下面来介绍以下xdotool

    我用的是ubuntu,安装只需要只想如下命令:

    sudo apt-get install xdotool

    虽然xdotool是那样的直观,但它仍然是个脚本程序。因此,为了要正确地使用它,你还是得了解它的语法。不过敬请放心,相对于程序的功能而言,语法还是比较简单易学的。

    首先,模拟击键是很容易的。你可以从终端敲入下面的命令:

    xdotool key [name of the key]

    如果你想要连接两个键,可以在它们之间使用 “+” 操作符。它看起来像这样:

    xdotool key alt+Tab

    这两个组合键可以为你切换窗口。

    要想让 xdotool 帮你输入,可以使用以下命令:

    xdotool type ''

    这些对于基本的击键而言已经足够了。但是,xdotool 的众多长处之一,就是它可以获取特定窗口的焦点。它可以获取右边的窗口,然后在里面输入,所有你记录下的按键都不会人间蒸发,而是老老实实的如你所愿的出现在那里。要获得该功能,一个简单的命令可以搞定:

    xdotool search --name [name of the window] key [keys to press]

    该命令将在打开的窗口中搜索对应名称的窗口,并聚焦于该窗口,然后模拟击键。

    来点更高级的,但很有用哦,xdotool 可以模拟鼠标移动和点击,看这命令:

    xdotool mousemove x y

    你可以将光标定位到屏幕坐标(x,y)(像素)。你也可以使用 “click” 参数来组合:

    xdotool mousemove x y click 1

    这会让鼠标移动到(x,y),然后点击鼠标左键。“1”代表鼠标左键,“2”则是滚轮,“3”则是右键。

    最后,一旦你这些命令根植于你脑海,你也许想要实际转储于文件来编辑并试着玩玩。鉴于此,就会有超过一个语句以上的内容了。你需要的就是写一个bash脚本了:

    #!/bin/bash
    xdotool [command 1]
    xdotool [command 2]
    etc

    或者你可以使用:

    xdotool [filename]

    这里你将命令写入到一个独立的文件中,然后通过将文件名作为 xdotool 命令的参数。

    项目地址:http://www.semicomplete.com/projects/xdotool/

    文档地址:http://www.semicomplete.com/projects/xdotool/xdotool.xhtml

    关于之前小游戏模拟点击左右箭头的代码如下:

    for i in {1..1000}
    do
       xdotool key Left
       xdotool key Right
    done

    非常之简陋,只是拿来玩下,虽然 xdotool 能够模拟很多抢红包游戏的点击,但希望大家还是谨慎一点~~O(∩_∩)O哈哈~~

    参考摘录:http://www.linuxidc.com/Linux/2014-08/105996.htm

  • 相关阅读:
    DBA常用脚本 二、性能监控
    ORA01012:not logged on的解决办法
    线性布局LinearLayout
    Android Handler.postDelayed()方法
    java String.valueOf()
    布局管理器ViewGroup
    UE3的数据绑定笔记
    概念、实现和沟通
    DirectX11的Shader Reflect的几个问题(2012222更新)
    测试livewriter
  • 原文地址:https://www.cnblogs.com/CraryPrimitiveMan/p/4944982.html
Copyright © 2011-2022 走看看