Python实现鼠标自动在屏幕上随机移动功能
本来想控制鼠标自动移动防止公司电脑自动休眠的策略,然而,实现了并没什么卵用,还是会休眠。但还是分享出来吧。win10的系统。
首先要安装几个第三方的包:pymouse、pyhook、pywin32、pyuserinput。别看代码里值引用pymouse和win32api,如果不把这些都装了,运行时就会报错。
下面来看下代码吧。
frompymouseimportPyMouse fromwin32apiimportGetSystemMetrics importrandom importtime m=PyMouse() m.position() width=GetSystemMetrics(0) heigth=GetSystemMetrics(1) m.move(100,100) whileTrue: x=random.randint(0,width) y=random.randint(0,heigth) m.move(x,y) time.sleep(random.randint(3,5))
补充知识:python控制鼠标移动pyautogui||PyMouse自动化
方法1pyautogui
安装·pipinstallpyautogui
文档
基本操作指令
gui.PAUSE=0.5#每次函数调用后暂停0.5秒
gui.FAILSAFE=True#启动自动防故障功能
注意,这里将pyautogui库重命名为gui,是为了使用方便。这个库可以处理电脑屏幕、鼠标、键盘等电脑硬件资源。下面,我们就先从处理电脑屏幕开始介绍:
获得屏幕大小用W,H=gui.size(),W、H就分别表示屏幕的宽、高;要截屏可以用im=gui.screenshot(),im就是截取的屏幕快照图片;如果要获得屏幕上(x,y)坐标的颜色值,可以用RGB=GetScreenShow().getpixel((x,y));要判断坐标处颜色是否给定值,可以用以下代码:
defis_screen_locate_color(x,y,r,b,g):
im=GetScreenShow()
returngui.pixelMatchesColor(x,y,(r,b,g))
如果屏幕上有个图片,我们怎样才能获得图片在屏幕上的位置和大小呢?有以下代码
defget_png_all_location(PNGfile):#
returnlist(gui.locateAllOnScreen(PNGfile))
返回的是这样一个列表:[(x1,y1,w1,h1),(x2,y2,w2,h2),(x3,y3,w3,h3).],屏幕上只有一个这样的图片的话,这个列表就只有一项[(x1,y1,w1,h1)],表示这个图片的位置(x1,y1)和大小(w1,h1).
其次,我们再看看鼠标是怎样被控的。我们可以用gui.position()返回鼠标位置(x,y);实现模拟点击用:
defclick_position(x,y,buttonkey='left'):#模拟点击(默认左键)
gui.click(x,y,button=buttonkey)
模拟鼠标左键双击用:
defdouble_click(x,y):
gui.doubleClick(x,y)
模拟按下左键鼠标拖动(相对原位置)用:
defdrag_rel(dx,dy):
gui.dragRel(dx,dy,duration=0.2)
模拟按下左键鼠标拖动(绝对位置)用:
defdrag_to(x,y):
gui.dragTo(x,y,duration=0.2)
模拟移动鼠标到X,Y坐标用:
defmove_to(x,y):
gui.moveTo(x,y)
模拟窗口滚动用:
defscroll_window(n):
gui.scroll(n)#n为正表示向上滚动,为负表示向下滚动
第三是模拟键盘操作,下面是键盘上部分常用键的定义:
'a','A','1','!','@','#',等等单个字符的键
'enter'(or'return'or'\n')回车键
'esc'Esc键
'shiftleft','shiftright'左右Shift键
'altleft','altright'左右Alt键
'ctrlleft','ctrlright'左右Ctrl键
'tab'(or'\t')Tab键
'backspace','delete'Backspace和Delete键
'pageup','pagedown'PageUp和PageDown键
'home','end'Home和End键
'up','down','left','right'上下左右箭头键
'f1','f2','f3',等等F1至F12键
发送字符串gui.typewrite(textstr)、
按下键gui.keyDown(keyname)、
释放键gui.keyUp(keyname)、
按键gui.press(char)、#
热键组合如:ctrl+c用gui.hotkey(keyname,char)。
多个热键组合可按顺序输入多个参数,如:Ctrl-alt-shift-s
可输入gui.hotkey('ctrl','alt','shift','s')。
鼠标移动
importpyautogui pyautogui.moveRel(50,50,durtion=1)//根据当前位置,相对移动鼠标指针durtion移动时间 pyautogui.position()//获取当前鼠标位置
以上这篇Python实现鼠标自动在屏幕上随机移动功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。