pyautogui模块的使用教学

做为一个成天想着让电脑来帮自己做一些重复的操做,让自己好好去摸🐟。于是自己就自学了控制鼠标和键盘的模块: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'
posted @   欧阳锦涛  阅读(631)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
TOP 底部
点击右上角即可分享
微信分享提示