当前位置:   article > 正文

python使用笔记:pyautogui自动化控制鼠标和键盘

python使用笔记:pyautogui自动化控制鼠标和键盘

安装

pip3 install pyautogui

获取当前屏幕分辨率

import pyautogui

# 获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()
print(screenWidth)
print(screenHeight)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

pyautogui鼠标操作

获取/移动鼠标位置

import pyautogui

# 获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()

# 获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()
print(currentMouseX)
print(currentMouseY)

# 5秒钟鼠标从当前位置移动到坐标为100,100的位置
pyautogui.moveTo(100, 100,5)

#鼠标立即移到屏幕中央
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)

#5秒钟鼠标从当前位置向下移动100,向右移动100
pyautogui.moveRel(xOffset=100, yOffset=100,duration=5)

#  用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

鼠标点击

import pyautogui

# 函数参数
# x 
# y 
# clicks 点击次数
# interval点击之间的间隔
# button 'left', 'middle', 'right' 对应鼠标 左 中 右或者取值(1, 2, or 3)
# tween 渐变函数
pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)

# 鼠标当前位置0间隔双击
pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)

# 鼠标当前位置3击
pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)

#右击
pyautogui.rightClick()

#中击
pyautogui.middleClick()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

鼠标拖拽

import pyautogui

#3秒鼠标按下左键从当前位置拖拽到400,500
pyautogui.dragTo(x=400, y=500, duration=3,button='left')

#3秒鼠标按下左键从当前位置拖拽相对移动100,100
pyautogui.dragRel(xOffset=100,yOffset=100,duration=3,button='left',mouseDownUp=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

移动后按下/松开

import pyautogui

#鼠标移动到x=1796, y=778位置按下
pyautogui.mouseDown(x=1796, y=778, button='left')

#鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

滚轮

import pyautogui

#鼠标当前位置滚轮滚动500距离
pyautogui.scroll(500)

#鼠标水平滚动(Linux)
pyautogui.hscroll(500)

#鼠标左右滚动(Linux)
pyautogui.vscroll(500)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

pyautogui键盘操作

import pyautogui

#模拟输入信息,每个输入字母间隔0.5秒
pyautogui.typewrite(message='Hello world!',interval=0.5)

#点击ESC
pyautogui.press('esc')

# 按住shift键
pyautogui.keyDown('shift')

# 放开shift键
pyautogui.keyUp('shift')

# 模拟组合热键
pyautogui.hotkey('ctrl', 'c')

#点击windows键
pyautogui.press('winleft')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

按键支持

按键说明
enter(或return 或 \n)回车
escESC键
shiftleft, shiftright左右SHIFT键
altleft, altright左右ALT键
ctrlleft, ctrlright左右CTRL键
tab (\t)TAB键
backspace, deleteBACKSPACE 、DELETE键
pageup, pagedownPAGE UP 和 PAGE DOWN键
home, endHOME 和 END键
up, down, left,right箭头键
f1, f2, f3….F1…….F12键
volumemute, volumedown,volumeup有些键盘没有
pausePAUSE键
capslock, numlock,scrolllockCAPS LOCK, NUM LOCK, 和 SCROLLLOCK 键
insertINS或INSERT键
printscreenPRTSC 或 PRINT SCREEN键
winleft, winrightWin键
commandMac OS X command键

提示信息

alert 弹窗

import pyautogui

pyautogui.alert(text='This is an alert box.', title='Test')
  • 1
  • 2
  • 3

在这里插入图片描述

option 选择框

import pyautogui

#pyautogui.confirm('Shall I proceed?')
pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

password 密码输入框

输入数据会被隐藏,以“*”代替显示

import pyautogui

a = pyautogui.password('Enter password (text will be hidden)')
print(a)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

prompt 数据输入框

import pyautogui

a = pyautogui.prompt('input  message')
print(a)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

屏幕截图并保存

需要安装Pillow库

import pyautogui

img_path = r'D:\log\one.png'

im1 = pyautogui.screenshot()
im1.save('my_screenshot.png')

im2 = pyautogui.screenshot('my_screenshot2.png')

#只截取部分区域
im = pyautogui.screenshot(region=(0,0, 300, 400))
im.save(img_path)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

屏幕查找图片位置并获取中间点

import pyautogui

#在当前屏幕中查找指定图片(图片需要由系统截图功能截取的图)
coords = pyautogui.locateOnScreen('folder.png')

#获取定位到的图中间点坐标
x,y=pyautogui.center(coords)

#右击该坐标点
pyautogui.rightClick(x,y)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

保护措施

import pyautogui

#保护措施,把鼠标移动到屏幕左上角能够强制停止pyautogui,避免失控。
pyautogui.FAILSAFE = True

#为所有的PyAutoGUI函数增加延迟,即执行完一个函数等待0.5秒再执行下一个。默认延迟时间是0.1秒。
pyautogui.PAUSE = 0.5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参考:
https://blog.csdn.net/weixin_43430036/article/details/84650938
https://www.cnblogs.com/dcb3688/p/4607980.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/201076
推荐阅读
相关标签
  

闽ICP备14008679号