最近雙十一搶紅包的活動比較火,我也就去玩了一下,在一個小活動里,需要不停的點擊左箭頭和右箭頭,讓紅包不停的跑,但自己點的比較慢,老是出現下面的圖片
看到提示還有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