使用python控制按键无疑非常重要的技能,特别是结合机器视觉更是能发挥出超强的实力!
pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple/
注:如果有可能,可以在pycharm中进行以下Python控制的鼠标和键盘的测试与学习。
Pycharm与Anaconda3的下载与配置博客可以参考如下博客:Anaconda3和pycharm的下载指南
注:由于这部分功能我不能通过截屏来显著表现出来,在程序运行结果就不截屏了,保持界面整洁
#获取鼠标位置
import pyautogui as pg #没别的作用就单纯换个名字
try:
while True:
x,y=pg.position() #核心函数pg.position()
print(str(x)+" "+str(y)) #输出鼠标的x,y
except KeyboardInterrupt:
print("\n")
程序功能:
核心函数:
函数名 | 功能 |
---|---|
pyautogui .position() | 返回当前鼠标的x,y坐标。 |
核心代码:
# 获取鼠标位置
import pyautogui as pg
try:
while True:
x, y = pg.position()
print(str(x) + " " + str(y)) #输出鼠标位置
if 1746 < x < 1800 and 2 < y < 33:
pg.click()#左键单击
if 1200 < x < 1270 and 600 < y < 620:
pg.click(button='right')#右键单击
if 1646 < x < 1700 and 2 < y < 33:
pg.doubleClick()#左键双击
except KeyboardInterrupt:
print("\n")
a.程序功能
在输出鼠标位置的基础,分别设置了三个区域,当鼠标达到这三个区域时候,进行左键单击、右键单击,左键双击。
b.核心函数
函数名 | 功能 |
---|---|
pyautogui.click() | 鼠标左键单击 |
pyautogui.click(button=‘right’) | 鼠标右键单击 |
pyautogui.doubleClick() | 鼠标左键双击 |
c.核心代码
1、触发某事件就控制鼠标点击:第9~14行
注:click()函数默认:button=‘left’
# 3、控制鼠标移动/拖动demo
import pyautogui as pg
try:
while True:
x, y = pg.position()
print(str(x) + " " + str(y)) #输出鼠标位置
#实现鼠标绝对移动功能
if 1011 < x < 1357 and 320 < y < 527:
pg.moveTo(1750, 20, 2)#花2s从当前位置移动到(1750,20)
pg.click() # 左键单击
#实现鼠标相对移动功能
if 600 < x < 1000 and 305 < y < 425:
pg.move(0, 200) # 基于当前位置瞬间向下移动200像素
#实现鼠标拖动功能
if 1142<x<1391 and y<25:
pg.dragTo(300, 400, 2, button='left') #花2s从当前位置拖到(300,400)
except KeyboardInterrupt:
print("\n")
a.程序功能
在输出鼠标位置的基础,分别设置了三个区域,当鼠标达到这三个区域时候,分别进行绝对移动,相对移动,鼠标拖动三个运行演示。
注:在运行代码全,将Pycharm全屏演示效果更好哦
b.核心函数
函数名 | 功能 |
---|---|
pyautogui.moveTo() | 鼠标绝对移动 |
pyautogui.move() | 鼠标相对移动 |
pyautogui.dragTo() | 鼠标绝对拖动 |
c.核心代码
1、触发某事件就控制鼠标移动/拖动:第9~19行
注:click()函数默认:button=‘left’
import pyautogui as pg
# 执行鼠标滚轮的滚动。垂直滚动还是水平滚动取决于底层操作系统。
pg.scroll(100) # scroll up 50 "clicks"
注:是的就两行,如果你是放在上面中使用,应该算只要一行就可以实现了。