百木园-与人分享,
就是让自己快乐。

自动化工具:PyAutoGUI的鼠标与键盘控制,解放双手的利器

PyAutoGUI是一个简单易用,跨平台的可以模拟键盘鼠标进行自动操作的python库。

【阅读全文】

使用pip的方式安装pyautogui模块

pip install pyautogui

pyautogui在使用的时候有两个比较关键的隐患(程序在启动起来以后很难关闭)需要注意一下。一是鼠标出现在屏幕的最上方会出现报错,二是键盘的自动操作太快,所以需要先设置一下相关的参数。

import pyautogui as ui  # 导入pyautogui代码块

ui.FAILSAFE = False  # 关闭自动防御故障的功能

ui.PAUSE = 1  # 设置键盘操作的时候停顿间隔时间为1秒

1、鼠标的相关控制

\'\'\'获取屏幕分辨率\'\'\'
print(ui.size())
# Size(width=1920, height=1080)
# 屏幕分标率:宽:1920px、高:1080px

\'\'\'移动鼠标到指定位置\'\'\'
ui.moveTo(250, 400, duration=1)  # duration 参数设置移动到指定位置的时间为1秒钟

\'\'\'按方向移动鼠标\'\'\'
ui.moveRel(200, 300, duration=2)  # 鼠标向右移动200px、向下移动300px,移动时间为2秒钟

\'\'\'获取当前鼠标的位置\'\'\'
print(ui.position())
# Point(x=450, y=700)

\'\'\'单击鼠标\'\'\'
ui.click(200, 200, button=\'left\')  # 在屏幕200px,200px的位置点击鼠标左键
ui.click(200, 200, button=\'right\')  # 在屏幕200px,200px的位置点击鼠标右键
ui.click(200, 200, button=\'middle\')  # 在屏幕200px,200px的位置点击鼠标中键

\'\'\'双击鼠标\'\'\'
ui.doubleClick(200, 200)  # 在屏幕200px,200px的位置双击鼠标左键
ui.rightClick(200, 200)  # 在屏幕200px,200px的位置双击鼠标右键
ui.middleClick(200, 200)  # 在屏幕200px,200px的位置双击鼠标中键

\'\'\'按下与释放鼠标\'\'\'
ui.mouseDown()  # 按下鼠标
ui.mouseUp()  # 释放鼠标

\'\'\'拖动鼠标\'\'\'
ui.dragTo(200, 300, duration=1)  # 拖动鼠标到指定位置
ui.dragRel(200, 300, duration=4)  # 按方向拖动鼠标

\'\'\'滚动鼠标\'\'\'
ui.scroll(450)  # 向上滚动450个像素单位

2、键盘的相关控制

\'\'\'
pyautogui.keyDown()  模拟按键按下;
pyautogui.keyUp()  模拟按键释放;
pyautogui.press()  # 就是调用keyDown() & keyUp(),模拟一次按键;
pyautogui.typewrite(\'this\',0.5)  第一参数是输入内容,第二个参数是每个字符间的间隔时间;
pyautogui.typewrite([\'T\',\'h\',\'i\',\'s\']):typewrite 还可以传入单字母的列表;
\'\'\'

ui.keyDown(\'ctrl\')  # 按下ctrl键
ui.press(\'Y\')  # 按一下Y键
ui.keyUp(\'ctrl\')  # 释放ctrl键

ui.typewrite(\'YYDS\', 0.5)  # 输入YYDS的字符串,每个字符之间的时间间隔是0.5秒

\'\'\'一些特定键的使用\'\'\'

# 可以使用typewrite函数调用类似于enter的特殊按键
ui.typewrite([\'enter\'])  # 模拟按一次enter键

\'\'\'
键盘字符串	说明
enter(或return  \\n)	回车
esc	ESC
shiftleft, shiftright	左右SHIFT
altleft, altright	左右ALT
ctrlleft, ctrlright	左右CTRL
tab (\\t)	TAB
backspace, delete	BACKSPACE DELETE
pageup, pagedown	PAGE UP  PAGE DOWN
home, end	HOME  END
up, down, left,right	箭头键
f1, f2, f3…. f12	F1…….F12
volumemute, volumedown,volumeup	声音变大变小静音(有些键盘没有)
pause	PAUSE键,暂停键
capslock	CAPS LOCK 
numlock	NUM LOCK 
scrolllock	SCROLLLOCK 
insert	INSERT
printscreen	PRINT SCREEN
winleft, winright	Win键(windows 
command	command键(Mac OS X 
option	optionMac OS X
\'\'\'

可以根据上面的按键处理列表对应的字符串来使用typewrite函数处理特殊按键。

ui.typewrite([\'esc\'])  # 模拟按一下esc键

\'\'\'快捷键的模拟处理\'\'\'

# 程序猿神器:CV大法
ui.hotkey(\'ctrl\',\'c\')  # ctrl + c
ui.hotkey(\'ctrl\',\'v\')  # ctrl + v

也可以使用传统的方式挨个按键,最后就组合成了的快捷键

# 模拟代码格式化快捷键ctrl + alt +l
ui.keyDown(\'ctrl\')
ui.keyDown(\'alt\')
ui.keyDown(\'l\')

# 挨个释放这几个键
ui.keyUp(\'l\')
ui.keyUp(\'alt\')
ui.keyUp(\'ctrl\')

后续需要做相关的自动化操作,我们会做一些相关的实例(仅限于学习使用的相关实例)。

file

【往期精选】

来自程序猿的生日蛋糕你见过吗?

懒人python操作,代码中永远只需要导入一个库...

自动化办公:手机号码提取器,使用正则表达式轻松提取文本文件中的手机号码...

刚刚发现的可视化动态图库ipyvizzu,太好看了!

记住这些windows网络操作命令,轻松搞定自己的电脑网络!

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!


来源:https://www.cnblogs.com/lwsbc/p/16376304.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 自动化工具:PyAutoGUI的鼠标与键盘控制,解放双手的利器

相关推荐

  • 暂无文章
正在加载中...