Python如何实现鼠标自动在屏幕上随机移动功能
这篇文章给大家分享的是有关Python如何实现鼠标自动在屏幕上随机移动功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
首先要安装几个第三方的包: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 自动化
方法1 pyautogui
安装 ·pip install pyautogui
文档
基本操作指令
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));要判断坐标处颜色是否给定值,可以用以下代码:
def is_screen_locate_color(x,y,r,b,g):im=GetScreenShow()return gui.pixelMatchesColor(x,y,(r,b,g))
如果屏幕上有个图片,我们怎样才能获得图片在屏幕上的位置和大小呢?有以下代码
def get_png_all_location(PNGfile):#return list(gui.locateAllOnScreen(PNGfile))
返回的是这样一个列表:[(x1,y1,w1,h2),(x2,y2,w2,h3),(x3,y3,w3,h4).],屏幕上只有一个这样的图片的话,这个列表就只有一项[(x1,y1,w1,h2)],表示这个图片的位置(x1,y1)和大小(w1,h2).
其次,我们再看看鼠标是怎样被控的。我们可以用gui.position()返回鼠标位置(x,y);实现模拟点击用:
def click_position(x,y,buttonkey='left'):#模拟点击(默认左键)gui.click(x,y,button=buttonkey)
模拟鼠标左键双击用:
def double_click(x,y):gui.doubleClick(x,y)
模拟按下左键鼠标拖动(相对原位置)用:
def drag_rel(dx,dy):gui.dragRel(dx,dy,duration=0.2)
模拟按下左键鼠标拖动(绝对位置)用:
def drag_to(x,y):gui.dragTo(x,y,duration=0.2)
模拟移动鼠标到X,Y坐标用:
def move_to(x,y):gui.moveTo(x,y)
模拟窗口滚动用:
def scroll_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' Page Up 和 Page Down 键'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如何实现鼠标自动在屏幕上随机移动功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...