利用Python来开发外挂!如何模拟鼠标操作呢?

>>>>起因

最近需要在公司用FTP下载一个不到10G的文件,下载速度也就100多KB。但电脑被设置了5分钟后自动休眠。休眠后,FTP就会暂停下载,虽然FTP可以设置断点续传,但我也不能守着电脑几十个小时。

>>>>方法2—软件外挂

用python模拟鼠标操作,间隔一定时间模拟操作一次鼠标,防止系统休眠。

代码如下:

 1import time
 2import re,os
 3from pymouse import PyMouse
 4
 5m = PyMouse()
 6
 7initText=['delay=10\n','pix=10\n','maxDelay=1000\n','click=1']
 8def work():
 9    if not os.path.exists('keepWorking.txt'):
10        fo = open('keepWorking.txt','w')
11        fo.writelines(initText)
12        fo.close()
13        print('请根据需要修改《keepWorking.txt》配置文件')
14    fi = open('keepWorking.txt','r')
15    lines = fi.readlines()
16    fi.close()
17    delay = 10
18    pix = 10
19    maxDelay = 1000
20    click=1
21    for line in lines:
22        tmpRE = re.match('(\w+)=(\d+)',line)
23        if tmpRE:
24            if tmpRE.group(1) == 'delay':
25                delay = int(tmpRE.group(2))
26            if tmpRE.group(1) == 'pix':
27                pix = int(tmpRE.group(2))
28            if tmpRE.group(1) == 'maxDelay':
29                maxDelay = int(tmpRE.group(2))
30            if tmpRE.group(1) == 'click':
31                click = int(tmpRE.group(2))
32
33    print('每次延迟 %d 秒' % delay)
34    print('每次移动 %d 像素' % pix)
35    print('将保持 %d 秒电脑不休眠' % maxDelay)
36    if click :
37        print('每次移动鼠标后,进行鼠标左键点击')
38    else:
39        print('每次移动鼠标后,不进行鼠标左键点击')
40
41    for i in range(int(maxDelay/delay)):
42        time.sleep(delay)
43        if i%2 == 0:
44            (x_init,y_init) = m.position()
45            m.move(x_init+pix,y_init)
46            if click:
47                m.click(x_init+pix,y_init)
48        if i%2 == 1:
49            (x_init,y_init) = m.position()
50            m.move(x_init-pix,y_init)
51            if click:
52                m.click(x_init-pix,y_init)
53        #print(m.position())
54    print('%d 秒保持电脑不休眠结束,谢谢使用!' % maxDelay)
55    exit()
56
57
58
59if __name__ == '__main__':
60    work()

代码的思路是:

  1. 第一次运行程序时,会产生一个keepWorking.txt 文件,可以修改这个文件中的变量。如果检测到已经存在这个文件,则读取文件中的配置。
  2. 等待delay 秒后,让鼠标水平跳动pix 个像素,再等待delay 秒后,再跳回去。
  3. 到达maxDelay 秒时,程序退出,不再模拟操作鼠标。
  4. click =1 表示鼠标移动后,是否模拟左击操作。设置为0可能起不到防止休眠的作用。

最后使用的是第二种方法,确实电脑一天一夜没有息屏,但FTP下载了一半不知道什么原因断了,没再重连。OMG~~

>>>>分享

我把这个脚本打包成exe文件,方便某些小伙伴使用。

私信小编001获取全部案例!

《利用Python来开发外挂!如何模拟鼠标操作呢?》
《利用Python来开发外挂!如何模拟鼠标操作呢?》

    原文作者:萌新程序员
    原文地址: https://zhuanlan.zhihu.com/p/59706964
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞