python编写脚本之pyautogui的安装和使用教程

作者:我就是一个小怪兽 时间:2021-06-17 09:48:11 

前言

以下是我对python中编写脚本最重要的库之一pyautogui的学习整理,分享给大家希望有所帮助

提示:我在初步使用pyautogui的过程中发现对于谷歌浏览器的click点击失效,其他尚未发现

pyautogui的安装 

可以使用cmd输入pip install pyautogui进行库的安装

鼠标

对鼠标的控制是基于屏幕上的位置的,比如我的电脑的显示分辨率是1920✖1080,也就是从屏幕的左上角开始,水平方向向右代表x,一行中有1920个小像素块,垂直方向向下代表y,一列中有1080个像素块,就像一个大坐标系,只不过整个屏幕中只有第一象限

使用size获取屏幕的显示分辨率

示例如下:


from pyautogui import size
x,y=size()
print(x,y)

python编写脚本之pyautogui的安装和使用教程

 使用position获取鼠标当前位置


from pyautogui import position
x,y=position()
print(x,y)

python编写脚本之pyautogui的安装和使用教程

鼠标移动

moveTo:把鼠标移动到屏幕的某个位置

上面可知左上角的坐标是(0,0),右下角就是(1920,1080),示例如下


from pyautogui import moveTo
moveTo(1684,1059,duration=3)#1684和1059是要移动到的位置,duration表示执行该移动的时间,单位是秒

moveRel(move):基于当前位置进行移动


from pyautogui import moveTo,moveRel

moveRel(100,200,duration=2)
#从当前鼠标所在的位置移动到向右100,向下200的位置,过程时间设定为2秒

鼠标点击

click:单击鼠标



from pyautogui import click
#click中指定了坐标,也是可以设置从执行到点击这个位置的duration时间,以及左边,中间还是右键
click(100,200,button='left',duration=2)
click(100,200,button='middle')
click(100,200,button='right')

 doubleClick:双击鼠标


from pyautogui import doubleClick
#参数与单击相同,只不过现在是双击鼠标
doubleClick(100,200,button='left',duration=2)
doubleClick(100,200,button='middle')
doubleClick(100,200,button='right')

mouseDown和mouseUp:鼠标的按下与释放 


from pyautogui import mouseDown,mouseUp
mouseDown()   # 鼠标按下
mouseUp()    # 鼠标释放

鼠标拖动

 dragTo:拖动鼠标到某位置

dragRel:根据当前位置对数表进行拖动

鼠标拖动与鼠标移动类似,但相比较,做了一个移动窗口的区别测试


from pyautogui import moveTo,mouseDown,mouseUp

mouseDown(button='left')
moveTo(1000,500)
mouseUp(button='left')

from pyautogui import dragTo,mouseDown,mouseUp

mouseDown(button='left')
dragTo(1000,500)
mouseUp(button='left')

在测试的时候发现,moveTo和鼠标按下相结合可以实现对某窗口的拖动,但是dragTo不可以

鼠标滚动


from pyautogui import scroll

scroll(300)#传入一个整数,正数表示向上滑动滚轮
scroll(-300)#向下滑动滚轮

屏幕处理

screenshot:截取全屏

截图将保存在脚本保存的同一目录下


from pyautogui import screenshot
screenshot().save('屏幕截图.png')#jpg格式也支持,其他格式请尝试

crop截取任意大小的截图 ,比如crop((

locateOnScreen:查找截图位置

 这里查找截图位置是在屏幕上查找,找到和保存的截图符合的位置


from pyautogui import locateOnScreen
print(locateOnScreen('屏幕截图.png'))

键盘输入

keyDown和keyUp:键盘按下和键盘释放

通过键盘的按下与释放可以实现多键同时按下,比如ctrl+v的粘贴等,为了实现多键同时,我们还有hotkey('ctrl','c'),可以接受多个参数,按照传入顺序按下,再按照相反的顺序释放


from pyautogui import keyDown,keyUp
keyDown('space')   # 按下空格键
keyUp('space')    # 释放空格键

keyDown('ctrl')  
keyDown('c')
keyUp('c')
keyUp('ctrl')

hotkey('ctrl','c')

press:按键后立即释放

可以看作按下和释放的一个组合,比如我们要发送消息,按enter键,按完之后就会释放,因此press应用起来较多

字母的大小写不影响按键,比如Enter,我们可与编写为press('enter'),press('ENter')

有的键位有两个,比如Shift,在后面加上left或者right,press('shiftleft')

需要强调的是enter按键公认为换行,可以用\n代替,即press('enter')=press('\n'),tab键可用\t代替

上下左右键分别为up,down,left,right

typewrite():连续打字

这里的typewrite可以识别大小写


from pyautogui import typewrite
typewrite('ceshi',0.5)
#第一个参数是要输入的内容,第二个参数是每次按键的间隔时间
typewrite(['c','e','s','h','i'])
#也可以传入一个单个字符串的列表
typewrite(['S','u','n'])#typewrite('Sun',0.5)
#将会输入大写的S

提示信息

提示框


from pyautogui import alert
print(alert(text='一个测试',title='test'))
#点击确定后将返回OK

python编写脚本之pyautogui的安装和使用教程

 选择框


from pyautogui import confirm
print(confirm('请选择性别',buttons=['男','女']))
#将输出你的点击项

python编写脚本之pyautogui的安装和使用教程

输入密码


from pyautogui import password
print(password('请输入你的密码'))
#将输出刚才输入的密码

python编写脚本之pyautogui的安装和使用教程

输入普通内容


from pyautogui import prompt
print(prompt('请输入你的账号'))
#将返回刚才输入的内容

python编写脚本之pyautogui的安装和使用教程

来源:https://blog.csdn.net/qq_57099024/article/details/122125304

标签:python,pyautogui,安装
0
投稿

猜你喜欢

  • python用fsolve、leastsq对非线性方程组求解

    2021-06-28 23:33:29
  • python实现快速文件格式批量转换的方法

    2021-10-31 22:53:12
  • 使用Pytorch来拟合函数方式

    2021-06-22 18:10:45
  • Python实现采集网站ip代理并检测是否可用

    2021-01-10 09:10:53
  • 详解python3中socket套接字的编码问题解决

    2023-09-11 20:28:48
  • 基于Python实现股票收益率分析

    2022-03-15 20:24:08
  • mac下安装mysql忘记密码的修改方法

    2024-01-25 17:34:01
  • sqlserver 触发器学习(实现自动编号)

    2012-10-07 10:58:03
  • 解决mysql 1040错误Too many connections的方法

    2024-01-24 06:56:58
  • vue3如何实现挂载并使用axios

    2023-07-02 16:46:06
  • python实现精准搜索并提取网页核心内容

    2021-04-07 09:14:04
  • Python文件操作和数据格式详解(简单简洁)

    2022-12-18 21:28:01
  • Python基础之字符串操作常用函数集合

    2023-11-26 23:26:12
  • Go语言中rune方法使用详解

    2024-04-23 09:37:18
  • Python中的字符串操作和编码Unicode详解

    2021-02-24 18:37:11
  • Centos7.2 编译安装PHP7.0.2的步骤

    2023-10-08 12:51:29
  • pytorch 液态算法实现瘦脸效果

    2021-12-05 19:28:17
  • 利用pandas进行大文件计数处理的方法

    2021-05-20 02:36:55
  • np.concatenate()函数的具体使用

    2023-06-21 11:15:19
  • 戏说编码发展史

    2022-12-12 02:48:05
  • asp之家 网络编程 m.aspxhome.com