做为一个成天想着让电脑来帮自己做一些重复的操做,让自己好好去摸。于是自己就自学了控制鼠标和键盘的模块:pyautogui 以下是自己学习的一些心得:(代码写的不算很好,仅供参考。)
学习pyautogui模块:主要学习 :屏幕坐标, 鼠标的方法, 键盘的方法,提示框。
一、屏幕坐标:
与高中所学的坐标系不一样的是它y轴的正方向是向下的,而屏幕的宽度与屏幕的高度是由屏幕分率而决定的。
举个例子:这个屏幕的宽是1920,高是1080,(注意:计数是由0开始计数的因此在确定好坐标后要进行减一) 了解好l屏幕坐标后将进入代码的真正学习。
二、
1、pyautogui模块的安装:pip install pyautogui
安装模块就可以进行导入了: import pyautogui
2、对于屏幕的一些常见的操作:
screenWidth, screenHeigth = pyautogui.size() print(screenWidth,screenHeigth) # 返回两个整数,屏幕的宽度与高度 # ——————————————————————————————————————————————————————————
print(pyautogui.onScreen(500,500)) # 判断坐标是否在屏幕上,是的话返回true。 # ——————————————————————————————————————————————————————————————————
currentMousex , currentMousey = pyautogui.position() print(currentMousex,currentMousey) # 返回当前鼠标位置 # ——————————————————————————————————————————————————————————
对于这三种方法,自我觉得 pyautogui.position() 方法是非常实用的它会返回当前坐标的位置,我们就可以用这个方法写一个循环语句来实现对某个点坐标的定位。
3、对于鼠标的操做就是单击 ,双击 ,滚轮的操作:
pyautogui.click(button ='left') # 单击当前鼠标所在的位置 pyautogui.click(x=200,y=200) # 单击当前坐标的位置 pyautogui.doubleClick() # 双击当前鼠标的位置 pyautogui.doubleClick(x=200,y=200) # 双击当前坐标的位置
对于点击的操作就是以上所展示的,不过值的注意的是:a、传入参数时两个参数都必须传入 b、 当在屏幕角落时要使用 pyautogui.FAILSAFE()不然程序会进行报错。c、点击方法中有button是控制鼠标左键与右键的只需传入'left'或者'right'就可以控制鼠标的左键或者是右键了。如果不进行传入那么就默认为'left'
****对于鼠标滚轮的操作
# pyautogui.scroll(clicks=amount_to_scroll, x=moveToX, y=moveToY) pyautogui.scroll(5, 20, 2) # 先将鼠标定位到某个坐标上在进行滚轮的操作 pyautogui.scroll(10) # 向上滚动10格 pyautogui.scroll(-10) # 向下滚动10格
值的注意的是正值表示向上滚动,负值表示向下滚动
当然在我们进行鼠标操作是并不只会点击还有许许多多的操作:
#pyautogui.moveTo ( 500 , 500 ,持续时间= 2 , 补间= pyautogui.easeInOutQuad ) # 使用补间/缓动函数将鼠标移动超过 2 秒。 pyautogui.moveTo ( 418, 73, 2,pyautogui.easeInOutQuad) # 使用补间/缓动函数将鼠标移动超过 2 秒 # 将鼠标缓慢移动到指定中位置 #—————————————————————————————————————————————————————————————— pyautogui.dragTo(200,200,button = 'left') pyautogui.dragTo(500,500,2,button='left') # 将鼠标定位到某个点上然后按住左键将鼠标移动到另外一个坐标上 pyautogui.dragRel(0, -60, duration=0.2) # 将鼠标先按住左键,然后向上拖动
以上代码可以实现长按左键移动,或者先长按左键在移动 。
在我们进行自动化是也避免不了输入内容,用
pyautogui.write('文本内容',interval = 0.25) # 每个键输入时间隔时间
# 实现将文本信息输入
# ————————————————————————————————————————————————————————————————————
4、键盘的操作:
pyautogui.press('Enter')
# 模拟按下Enter键
pyautogui.keyDown('Enter')
# 模拟按下Enter键
pyautogui.hotkey('Ctrl','c')
# 同时按下多个键
# —————————————————————————————————————————————————————————————————————
用上述方法就可以实现对一个键或者对多个键进行模拟按下
5、消息框
pyautogui.confirm('Shall I proceed?')
pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
pyautogui.prompt('What is your name?')
pyautogui.password('Enter password (text will be hidden)')
举个例子pyautogui.confirm('Shall I proceed?')会产生以下提示框,提示框的内容可以自己拟定
6、实现截屏操作:
pyautogui.screenshot('./haha.png')
# 实现全屏截屏
pyautogui.screenshot('./ee.png',region=(0,0, 300, 400))
# 实现区域截图,region里的参数是(x,y,宽,高)
分享:创建py文件名是不要与模块名重样不然会进行报错:
AttributeError: module 'pyautogui' has no attribute 'size'



