Python如何实现鼠标自动在屏幕上随机移动功能

这篇文章给大家分享的是有关Python如何实现鼠标自动在屏幕上随机移动功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

首先要安装几个第三方的包:pymouse、pyhook、pywin32、pyuserinput。别看代码里值引用pymouse和win32api,如果不把这些都装了,运行时就会报错。

Python如何实现鼠标自动在屏幕上随机移动功能

下面来看下代码吧。

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如何实现鼠标自动在屏幕上随机移动功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-03-24 01:19:49
收藏
分享
海报
0 条评论
160
上一篇:python实现QQ邮箱发送邮件的方法 下一篇:如何借助Paramiko通过Python实现linux远程登陆
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码